Le moniteur passe à l'état Critique et émet une alerte lorsque la quantité de mémoire utilisée par la liste de ressources partagées dépasse le paramètre de seuil, exprimé sous forme de pourcentage de mémoire disponible pour les tables de données à mémoire optimisée de la liste de ressources partagées. Ce moniteur est un moniteur de dépendance (cumul).
Ce moniteur passe à l’état critique lorsque la quantité de mémoire utilisée par la liste de ressources partagées est supérieure au paramètre de seuil, exprimé sous forme de pourcentage de la mémoire disponible pour les tables de données à mémoire optimisée pour la liste de ressources partagées. Ce moniteur est un moniteur de dépendance (cumul).
Quand la liste de ressources partagées nommée est mappée à une base de données à mémoire optimisée, elle surveille la mémoire allouée aux tables à mémoire optimisée, y compris les tables internes utilisées pour différentes structures au sein du moteur de données à mémoire optimisée.
Les données à mémoire optimisée de SQL Server utilisent plus de mémoire que SQL Server et différemment de SQL Server. Il est possible que la quantité de mémoire que vous avez installée et allouée pour les données à mémoire optimisée devienne inadéquate pour vos besoins croissants. Si c’est le cas, la mémoire pourrait s’avérer insuffisante.
Pour plus d'informations, consultez Liaison d’une base de données comprenant des tables à mémoire optimisée à une liste de ressources partagées.
Afin de remédier au problème de mémoire faible ou épuisée, il convient de libérer de la mémoire existante en réduisant son utilisation ou de rendre plus de mémoire disponible pour vos tables de données à mémoire optimisée. Les actions pour y remédier sont notamment les suivantes :
Vérifiez si des transactions longues sont en cours d’exécution et empêchent le nettoyage de la mémoire. Si c’est le cas, supprimez la transaction longue et/ou examinez la conception de l’application afin de voir si vous pouvez réduire la durée des transactions.
Libérez de l’espace existant.
Supprimez les lignes non essentielles de la table optimisée en mémoire et attendez le garbage collection.
Déplacez une ou plusieurs colonnes vers une table sur disque.
Augmentez la valeur de MAX_MEMORY_PERCENT sur le pool de ressources.
Augmentez la mémoire disponible pour l’instance SQL Server en rehaussant la valeur de configuration de mémoire serveur maximale.
Installez plus de mémoire.
Nom | Description | Valeur par défaut |
Activé | Active ou désactive le flux de travail. | Oui |
Génère des alertes | Définit si le flux de travail génère une alerte. | Non |
Target | Microsoft.SQLServer.2014.Database |
Parent Monitor | System.Health.PerformanceState |
Algorithm | WorstOf |
Source Monitor | Microsoft.SQLServer.2014.Monitor.UserResourcePool.MemoryConsumption |
Relationship | Microsoft.SQLServer.2014.RelationshipType.DatabaseReferencesUserResourcePool |
Category | PerformanceCollection |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | False |
Remotable | True |
Accessibility | Public |
<DependencyMonitor ID="Microsoft.SQLServer.2014.DependencyMonitor.Database.MemoryConsumptionRollUp" Accessibility="Public" Enabled="true" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SQL2014Core!Microsoft.SQLServer.2014.RelationshipType.DatabaseReferencesUserResourcePool" MemberMonitor="Microsoft.SQLServer.2014.Monitor.UserResourcePool.MemoryConsumption">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>