The RESOURCE_SEMAPHORE
wait is described by Microsoft as:
Occurs when a query memory request during query execution can't be granted immediately due to other concurrent queries. High waits and wait times may indicate excessive number of concurrent queries, or excessive memory request amounts. Excessive waits of this type may raise SQL error 8645, "A time out occurred while waiting for memory resources to execute the query. Rerun the query." [Source: Types of waits :: sys.dm_os_wait_stats (Transact-SQL)]
You can read more about this wait and see how prevalent it is in other systems here courtesy of SQLSkills.
This wait is due to memory pressure as such we recommend that you look at the following areas:
- History Dashboard, SQL Server memory section to see if any other memory clerks are stealing significant memory from the buffer pool. "Query Reserve" may well show as being higher than normal during this time.
- Sample Dashboard, Memory Grants pending to see if there are lots of queries queing up due to a lack of memory.
- Top SQL, look for queries that have a large value for "Granted Query Memory (KB)"