Maison / Maîtriser l'ordinateur / La connexion du terminal 1s manque de mémoire virtuelle. Vous avez une question ou besoin de l'aide d'un consultant ?

La connexion du terminal 1s manque de mémoire virtuelle. Vous avez une question ou besoin de l'aide d'un consultant ?

Cette erreur est assez typique pour 1C 8.3, de nombreux utilisateurs la rencontrent.

causes

Il y a en fait plusieurs raisons pour lesquelles l'erreur "Pas assez de mémoire 1C" peut apparaître. Souvent erreur donnée Se produit quand mise à jour incorrecte configuration 1C Entreprise. Tout aussi rarement, le chargement d'une grande base de données ou la tentative de traitement d'un très gros fichier entraîne une erreur.

Étant donné que la cause de l'erreur lors de ces actions réside dans le manque de mémoire d'adresses, il ne sera pas possible de la résoudre en mettant à niveau l'équipement sur lequel le programme 1C est installé.

Le fait est que le système d'exploitation logiciel accès à une quantité limitée de mémoire d'adresses, généralement 2 gigaoctets pour les systèmes d'exploitation trente-deux bits et 4 gigaoctets pour les systèmes d'exploitation soixante-quatre bits.

Vous avez une question, vous avez besoin de l'aide d'un consultant ?

Comment augmenter la quantité de mémoire d'adresses ?

Il n'est pas difficile d'étendre la mémoire d'adresses disponible pour le programme 1C. Pour ce faire, vous devez appeler la ligne de commande. Cela peut être fait de plusieurs manières, dont la plus simple consiste à cliquer avec le bouton droit sur l'icône du menu Démarrer - "Invite de commandes"
Dans la fenêtre qui apparaît, entrez ce qui suit :

où la valeur numérique est la quantité de mémoire souhaitée et appuyez sur la touche "Entrée". Après cela, vous devrez redémarrer votre ordinateur. Vous pouvez alors essayer de réessayer l'opération qui a échoué. Si l'erreur persiste, nous vous recommandons de contacter un spécialiste.
Nos programmeurs se feront un plaisir de vous conseiller et de vous aider.

Il est impossible de répertorier toutes les situations dans lesquelles l'erreur 1C «Mémoire insuffisante» (Fig. 1) se produit. Essayons d'identifier les principaux :

  • Lors de la mise à jour de la configuration ;
  • Lorsque l'application démarre ;
  • Lors de la génération d'un rapport ;
  • Lors de calculs volumineux (affichage du document "Calcul des coûts", "Fermeture du mois", etc.).

Dans tous les cas, la raison est la même - manque de mémoire physique ordinateur. En même temps, ajouter des bandes supplémentaires à l'appareil mémoire vive ne résout pas toujours le problème.

Ce qui détermine la quantité de mémoire disponible

Les systèmes d'exploitation 32 bits ont une caractéristique importante : quelle que soit la quantité de RAM et la taille du fichier d'échange, le système d'exploitation n'alloue que 4 Go pour le fonctionnement d'une application particulière.

Considérant que la moitié de l'espace d'adressage de la mémoire virtuelle est allouée aux besoins du système lui-même, il ne reste que 2 Go pour que l'application fonctionne. Lorsqu'un programme est en cours d'exécution, l'espace d'adressage de la mémoire virtuelle doit être réservé dans un bloc contigu. Lorsque cela n'est pas possible, une fenêtre apparaît (Fig. 1).

Comment augmenter la mémoire disponible

Sans réinstallation système opérateur Il existe deux options pour corriger la situation :


En utilisant ces méthodes, vous pouvez réduire l'espace d'adressage alloué au système d'exploitation à 1 Go, augmentant ainsi la mémoire de l'application à 3 Go.

Attention! En allouant manuellement de la mémoire, vous pouvez rencontrer des problèmes de fonctionnement. ordinateur personnel jusqu'à l'arrêt complet du système.

La suppression d'une ligne du fichier boot.ini ou l'exécution de la commande avec le paramètre 2900 remplacé par 2000 ramène le système à l'état initial.

Il est important de comprendre que ces méthodes ne sont qu'une solution temporaire au problème ; pour son élimination définitive, il est nécessaire de transférer la base de données sur une plate-forme 64 bits.

Mémoire insuffisante lors de la génération d'un rapport

Pas très courant, mais cette erreur se produit lorsque des rapports sont générés. Dans ce cas, l'exécution du traitement de formage feuille de calcul se resserre et, à la fin, se termine par une fenêtre, comme dans la première figure.

Avant d'entrer dans les paramètres du système d'exploitation et de modifier les paramètres d'allocation de la RAM, dans ce cas, il est préférable d'essayer de modifier les paramètres du rapport. Changer la date, changer les regroupements, ajouter une sélection. Dans la plupart des cas, cela aide.

Si l'erreur ne se produit pas dans un rapport standard (tel qu'une fiche de compte ou un bilan) et que vous avez accès au code source de traitement, vérifiez si des tables temporaires sont générées dans la requête. Écrits en RAM et existant jusqu'à la fin de la requête, ils peuvent considérablement consommer des ressources ordinateur faible.

En général, pour éviter de telles situations, il est fortement recommandé de détruire les tables temporaires dans une requête dès qu'elles ne sont plus nécessaires.

Fuites de mémoire du serveur

Dans certains cas, les utilisateurs reçoivent un message illustré à la Fig. 3

Riz. 3.

Je voudrais parler séparément des raisons de ce comportement du serveur.

En général, l'expression "fuite de mémoire" est quelque peu inexacte, il vaut mieux dire que la mémoire est stockée, en couches. Les programmes qui démarrent des processus oublient de les terminer en temps opportun. En conséquence, ils s'accumulent dans la RAM.

La deuxième raison est la fragmentation de la mémoire. Si, pendant le fonctionnement du serveur, il y a une réservation et une libération intensives de RAM, à l'un des moments, une situation peut survenir lorsque la quantité de mémoire libre est suffisante, mais il est impossible de capturer un bloc continu d'adresses mémoire de taille suffisante.

Le deuxième problème peut être résolu avec utilitaires système.

En conséquence, ils peuvent :

  1. Il y a des problèmes avec la connexion, ses pauses, le programme se bloque ; (Fig. 4)

Fig.4

  1. Des erreurs et des blocages apparaissent lors du déchargement de l'infobase ;
  2. Il y a des sauts dans la mémoire occupée par les processus 1C.

Erreurs de mise à jour

Ce scénario de mémoire insuffisante se produit lors de la tentative de mise à jour de la configuration vers la dernière version. Il peut être associé à un grand nombre exécution d'applications, et avec des erreurs dans la base de données.

La première étape à suivre lorsque ce problème survient consiste à lancer la base de données mise à jour en mode configurateur et à la restructurer (élément de menu Administration->Tester et corriger), bien qu'il soit préférable d'effectuer un travail complet sur la correction des erreurs et -tableaux d'indexation.

Des erreurs se produisent. Nous considérerons l'un d'entre eux, dédié au sujet "Pas assez de mémoire libre sur le serveur 1C:Enterprise".

Comment corriger l'erreur "Pas assez de mémoire libre sur le serveur 1C:Enterprise".

La quantité de mémoire des processus de travail lorsque vous travaillez sur un serveur d'agent 1C n'est pas infinie. À sa charge maximale, l'utilisateur voit un message agréable avec sa nouveauté - "Il n'y a pas assez de mémoire libre sur le serveur 1C: Enterprise."


Tout d'abord, sur les causes de tels messages - pourquoi il n'y a pas assez de mémoire. Il peut y en avoir plusieurs :

Puissance de fer insuffisante

Si jusqu'à cinq personnes travaillent dans le système, un ordinateur de huit gigaoctets avec deux vis (sur un - SERVER, sur le second - SQL) et des puces installées en plus suffiront. Mais autre chose - une trentaine d'utilisateurs, des milliers de documents primaires. Ici, SQL doit également être déplacé vers un serveur séparé, et un serveur terminal ne peut plus faire face.

Manque de mémoire pour des informations supplémentaires

Les configurations typiques essaient de décrire littéralement tous les processus qu'un développeur pourrait imaginer lorsqu'il essaie de créer un outil de comptabilité universel appelé 1C:Enterprise. Par conséquent, un utilisateur particulier reçoit un bagage supplémentaire sous la forme d'un abîme d'objets de métadonnées, de tables SQL supplémentaires, de détails inutilisés. L'inscription permanente et la réindexation de tout cela inutile dans les registres du programme prend beaucoup de temps et beaucoup de place.

Erreurs d'encodage

La surcharge du serveur se produit également lorsque les programmeurs ne comprennent (parfois) pas certains processus et introduisent leurs propres "béquilles" qui augmentent le temps nécessaire pour accomplir les tâches (et le nombre de processus de travail également).

Erreurs de programme

Entre autres choses, et c'est souvent presque la raison principale - le programme 1C a un nombre incroyable d'erreurs internes. Certains d'entre eux sont corrigés dans les versions ultérieures. Ces erreurs sont un grand nombre de forums où les administrateurs, discutant des prochaines astuces, disent en plaisantant que seuls les Tadjiks (Dzhamshut et Ravshan) fonctionnent probablement dans un es.

Alors que faire avec le serveur 1C

Étant donné que les causes du problème peuvent être différentes, il existe également différentes manières de sortir de la situation :

Redémarrage du service serveur

Le plus rapide et d'une manière simple La solution consiste à redémarrer le service serveur. Depuis la ligne de commande Microsoft Windows(cmd) : pour arrêter, la commande est exécutée - net stop "1C:Enterprise 8.3 (ou votre version) Server Agent", et pour démarrer - net start "1C:Enterprise 8.3 (selon votre version) Server Agent". Une telle solution ne résout pas complètement le problème - le plus souvent, l'erreur se répète. La fréquence de ses répétitions dépend du nombre de clients et du nombre de processus de travail.

IMPORTANT. Pour pouvoir redémarrer, vous devez disposer des droits appropriés.

Redémarrage automatique et paramètres de cluster

Parfois, même un flux de travail en cours d'exécution peut occuper presque toute la RAM. Ce problème est résolu en augmentant leur nombre dans les paramètres du cluster. Environ un processus est ajouté pour quinze à trente utilisateurs.

Intervalle de redémarrage. Peu avant la fin du précédent, un nouveau processus, rphost.exe, est lancé. - Les connexions de l'ancien lui sont transférées. Taille de mémoire autorisée - si cette valeur est dépassée, un deuxième compte à rebours sera lancé.

Intervalle de dépassement de la limite de volume - lorsque la minuterie dépasse cette valeur, un nouveau processus sera lancé. Et les connexions de l'ancien y seront liées. Et l'ancien, à son tour, est marqué comme inactif. Désactivé arrêter les processus après - une fois que la valeur de ce paramètre est passée après avoir marqué le flux de travail comme inactif, il sera arrêté par le système d'exploitation. Si ce paramètre est défini sur "0", tous les processus inactifs ne seront pas automatiquement terminés.

IMPORTANT. Ce paramètre est typique en ce sens qu'il déconnecte de la base de données uniquement le client qui a lancé le rapport incorrect. Et le reste - sera déplacé en douceur vers de nouvelles connexions (sans interruption de leur base).

Nombre de processus de travail

Si rphost.exe est surchargé de tâches en arrière-plan et qu'aucun nouveau processus n'est créé, vérifiez les paramètres :

Max. la mémoire des processus de travail est la mémoire totale pour tous les processus combinés. Mesuré en octets. Si vous définissez la mauvaise valeur (inadapté au fonctionnement normal), tout le monde recevra l'erreur "Pas assez de mémoire libre sur le serveur 1s".

Consommation de mémoire sécurisée pour 1 appel - contrôle la consommation de mémoire lors d'un appel par le serveur (en octets). Si un appel utilise plus que spécifié, il sera terminé au sein du cluster. Il ne redémarrera pas. Et la perte de la session n'affectera pas les autres clients.

La quantité de mémoire pour les processus, jusqu'à laquelle le serveur est considéré comme productif par le système - lorsque cette valeur est atteinte, le serveur du cluster cesse d'accepter les connexions. Quantité bases d'informations par processus - isole le SI par processus. Après avoir isolé les infobases (lors de la saisie de la valeur - "1"), les problèmes sont généralement résolus.

Nombre de connexions par processus - la valeur par défaut est "128". Si la base actuelle a une très grande charge de travaux d'arrière-plan, vous pouvez réduire ce nombre, par exemple, à "25". Avec ces paramètres, la configuration du cluster changera également un peu :

Niveau de tolérance aux pannes - indique le nombre de serveurs, en cas de panne dont il n'y aura pas de plantage des clients. Dans le même temps, les services de sauvegarde seront automatiquement lancés dans le nombre requis.

Mode de partage de charge - a deux options possibles. Si vous définissez "Priorité aux performances", la mémoire du serveur sera davantage consommée pour augmenter les performances. Lorsque vous choisissez "Priorité par mémoire", le cluster 1C économisera de la mémoire.

Outil de base

Pour fonctionner avec la base de données, il est nécessaire d'utiliser les outils de SGBD MS SQL.

Vérification de la configuration

Peut-être que la raison de l'erreur réside dans les informations incorrectes contenues dans la configuration. Pour le vérifier, vous devez exécuter la commande "Vérifier la configuration". (A ne pas confondre avec les tests !). Avant l'exécution, vous devez vérifier le réglage de la case à cocher (drapeau) - "intégrité logique". Si une erreur est détectée, elle sera reflétée dans le message. Et les erreurs seront supprimées.

Nous avons examiné les raisons du manque de mémoire libre sur le serveur 1C et les solutions possibles à cela. L'une des méthodes résoudra sûrement le problème.

L'une des erreurs les plus courantes qui se produisent lors de l'utilisation de 1C 8.3 est "Pas assez de mémoire". En réalité, cela peut se produire après de nombreux événements - mise à jour, traitement de fichiers volumineux, génération d'un rapport, chargement de données, etc. Cela signifie que tout administrateur et développeur 1C doit comprendre l'essence du problème et être en mesure de le résoudre. Par simple grossissement RAM du PC ou disque dur ce problème ne peut pas être résolu.

Résolution d'un problème sur un ordinateur client

Les raisons de cette erreur ne sont pas entièrement dans le système 1C, car vous pouvez voir une erreur similaire dans d'autres applications. Le problème est que les systèmes d'exploitation de la famille Microsoft allouent par défaut une certaine quantité de mémoire par application. Pour les systèmes 32 bits, cette valeur est définie sur 2 Go, pour les systèmes 64 bits - 4 Go. Lorsque le logiciel dépasse cette valeur, une fenêtre d'erreur apparaît sur le moniteur.

Le moyen le plus simple de se débarrasser de ces messages consiste à supprimer les objets marqués pour suppression dans la configuration. Cela aide rarement, mais élimine les hésitations inutiles. De plus, le risque de ces actions est minime, puisqu'il ne nécessite pas d'intervention en interne. paramètres de fenêtres. Si la suppression n'a pas aidé, vous devrez vous battre avec d'autres méthodes.

Une autre solution pour les systèmes 32 bits consiste à passer en 64 bits ou à allouer plus de mémoire aux applications. La première option est beaucoup plus correcte, mais parfois, pour diverses raisons, ce n'est pas possible. Ensuite, il ne reste que l'option avec l'algorithme d'actions présenté ci-dessous, mais elle doit être utilisée avec beaucoup de prudence - il peut y avoir des problèmes importants avec les performances de l'ensemble du système.

Cet algorithme est assez simple :

  1. Ouvrir ligne de commande Les fenêtres. Utilisez le menu Démarrer ou une combinaison Touches Windows+ R et entrez la commande "cmd" ;
  2. Dans la fenêtre qui apparaît, tapez la commande "bcdedit / set raiseuserva 3200" (par exemple, augmentez la limite à 3,2 Go). Cela vaut la peine d'augmenter la limite avec précaution et progressivement;
  3. Après avoir confirmé la réussite de l'opération dans la fenêtre de ligne de commande, redémarrez le PC et réessayez d'effectuer les étapes qui ont conduit à l'erreur. Si le problème persiste et que 1C plante toujours, vous pouvez à nouveau augmenter la limite ;
  4. Une fois l'opération terminée avec succès sans erreur dans 1C, restaurez les restrictions Windows par défaut avec la commande "bcdedit / deletevalue raiseuserva". Il s'agit d'une étape nécessaire pour que le système d'exploitation n'enfreigne pas ses performances pour le bien de 1C et d'autres applications.

Cette solution vous permet d'effectuer une opération qui ne peut pas être effectuée en raison de l'erreur 1C "Mémoire insuffisante". Vous ne pouvez l'utiliser qu'en cas d'urgence, lorsque l'opération doit être effectuée immédiatement. Dans d'autres circonstances, il est préférable d'essayer d'exécuter 1C sur une plate-forme 64 bits et de répéter l'opération là-bas.

Beaucoup plus grave est le message indiquant qu'il n'y a pas assez de mémoire sur le serveur lors d'une mise à niveau ou d'un travail à grande échelle. Le problème peut résider dans l'arrêt intempestif des processus lancés par divers logiciels, à la suite de quoi il y a une "superposition" et une accumulation de ceux-ci dans la mémoire virtuelle. La deuxième source d'une telle erreur est le travail intensif de divers programmes avec la réservation et la libération de mémoire. Il existe une variété de logiciels pour résoudre ces problèmes, mais la pratique montre qu'ils provoquent des déconnexions et des plantages 1C.


De telles erreurs vous font vous demander si le serveur 1C est assez puissant. L'augmentation de sa capacité profitera à l'entreprise, mais une telle erreur peut être contournée par d'autres moyens qui ne nécessitent pas d'injection de fonds.

Bien sûr, vous ne devez pas les utiliser tout le temps, mais un jour, ils peuvent aider, si nécessaire, à effectuer de toute urgence des travaux gourmands en ressources. Parmi les méthodes populaires qui peuvent aider à résoudre l'erreur de manque de mémoire sur le serveur figurent :

  • Redémarrage des workflows 1C, ce qui réduira la mémoire utilisée. Cette option convient uniquement aux administrateurs expérimentés qui comprennent la console d'administration du serveur 1C ;
  • À l'aide du journal technologique, recherchez la table qui se charge avec une erreur "mémoire insuffisante" lors d'une mise à jour ou d'une autre opération. Si une erreur s'est produite lors de l'utilisation de la table "config", vérifiez la configuration avec le drapeau "Vérifier l'intégrité logique de la configuration". Vous pouvez trouver cette fonction dans le configurateur dans le menu "Configuration".
  • Une autre erreur 1C courante se produit lorsqu'il n'y a pas assez d'espace sur le disque dur du serveur. Les tables temporaires occupent beaucoup d'espace et s'il n'y a pas assez d'espace, l'administrateur voit l'erreur "Il n'y a pas assez de mémoire libre pour terminer l'opération". Dans ce cas, il est difficile de donner des conseils précis, car l'appareil du serveur ou du cluster peut différer considérablement dans différentes options. Parmi les solutions standard qui aident dans de tels cas, vous pouvez trouver le redémarrage du serveur, augmenter espace libre, optimisation des requêtes, montée de version.


    Dans les entreprises avec un grand nombre d'utilisateurs, l'erreur "Pas assez de mémoire libre sur le serveur 1C:Enterprise 8.3" se produit assez souvent. Un gros problème et une condition préalable à cela est l'analyse insuffisante des performances requises. Par conséquent, lors de la mise en œuvre de 1C, faites très attention à la puissance suffisante des serveurs afin qu'à l'avenir, vous n'ayez pas à ajuster les performances au détriment de la stabilité.

    L'erreur "Pas assez de mémoire" dans 1C 8.3 et 8.2 n'est pas si rare. On peut également le trouver dans le configurateur (par exemple, lors de la comparaison de configurations), ainsi qu'en mode 1C:Enterprise lors d'un traitement chronophage : par exemple, lors de l'écriture d'un fichier base64 volumineux.

    Cette erreur peut se produire non seulement dans le programme 1C, mais également dans d'autres programmes du système d'exploitation Windows.

    Le fait est que dans les systèmes d'exploitation 32 bits, par défaut, 2 gigaoctets pour divers programmes et le même montant pour le système d'exploitation. Dans les systèmes d'exploitation 64 bits, la quantité de mémoire allouée aux applications est déjà de 4 gigaoctets.

    Suite à ce qui précède, vous devez augmenter la taille de la mémoire d'adresses allouée aux applications, qui est le programme 1C. Il y a deux manières de procéder : faire la transition de 32 système de bitsà 64 bits, ou augmentez la quantité de mémoire d'adresses allouée initialement.

    Bien sûr, la première méthode est meilleure et préférable, mais si dans ce moment, ou vous ne pouvez pas l'utiliser du tout, alors vous pouvez utiliser le second.
    Jour de démarrage, accédez à la ligne de commande du système d'exploitation. Pour cela, allez dans le menu démarrer et tapez "cmd" dans la barre de recherche.

    Une recherche de programme apparaîtra devant vous. Sélectionnez celui appelé "cmd".

    Vous pouvez également ouvrir l'invite de commande à l'aide de la combinaison de touches de raccourci Windows + R.

    Dans la fenêtre qui s'ouvre, tapez la commande suivante et appuyez également sur "Entrée":

    bcdedit/set augmenteruserva 3200

    Dans ce cas, vous augmenterez la quantité de mémoire d'adresses à 3200 mégaoctets.

    Une fois que vous avez réussi, il est fortement recommandé de restaurer la quantité précédente de mémoire d'adresses. Cette mesure est temporaire, car lorsque de la mémoire est allouée aux applications, le système d'exploitation en a moins. Pour cette raison, la stabilité de Windows peut être compromise.

    Pour restaurer la mémoire d'adresses à la valeur par défaut, vous pouvez utiliser la commande suivante, qui est également entrée sur la ligne de commande :

    bcdedit /deletevalue augmenteruserva

    Veuillez noter qu'avec l'erreur souvent rencontrée "Mémoire insuffisante" dans 1C, la suppression des objets marqués peut également aider. Peut-être que le programme en a accumulé beaucoup et qu'il est difficile pour le programme de traiter de tels volumes de données. Si cette méthode n'a pas aidé, vous devez augmenter la profondeur de bits du système d'exploitation Windows.