Erreurs, bugs, questions - page 948

 

C'est bizarre ici.

Le terminal avec tout désactivé charge 86 méga, mais la mémoire utilisée passe à environ 220 méga dans le système,

Bien que si je lance mt4, il faut honnêtement 22 mètres, et la mémoire occupée est également augmentée de ce nombre.

Se pourrait-il que MT5 utilise autant de services d'arrière-plan ? Je n'ai pas trouvé d'autre explication logique à une telle attitude dévorante envers la mémoire.

Ceci est sur le serveur vpc 2003 x64

Mon ordinateur portable win7x64 montre une utilisation de la mémoire de 125 Mo dans mes processus et augmente également de la même quantité dans mes performances.

Que dois-je faire sur un serveur pour que la mémoire utilisée corresponde à la mémoire réellement augmentée et non pas 2,5 fois plus importante ? à la fois là et dans la build 787.

... C'est absurde parce qu'un giga de RAM allouée peut en quelque sorte contenir 3 terminaux et le quatrième se bloque à cause d'une violation d'accès.

 
olyakish:

Le terminal avec tout désactivé charge 86 méga, mais la mémoire occupée dans le système augmente d'environ 220 méga,

Bien que si vous exécutez mt4, il faut honnêtement 22 mètres, et la mémoire occupée est également augmentée de ce nombre.

Comment et où vérifiez-vous l'utilisation de la mémoire ? Quelle quantité de mémoire est allouée par l'application ?

... Cela n'a pas de sens, puisque seuls 3 terminaux peuvent tenir dans 1 Gg de RAM allouée et que le quatrième se plante à cause d'une violation d'accès.

Il est préférable d'aller au Servicedesk avec tous les détails (logs, experts, indicateurs...).
 
alexvd:

Comment et où vérifiez-vous l'utilisation de la mémoire ? Quelle quantité de mémoire est allouée par l'application ?

Il vaut mieux aller au Service Desk avec tous les détails (logs, experts, indicateurs...).
Vous avez fourni des liens vers des vidéos dans vos dossiers personnels
 
alexvd:

Comment et où vérifiez-vous l'utilisation de la mémoire ? Quelle quantité de mémoire est allouée par l'application ?

Gestionnaire des tâches, onglet Processus
 

Pourtant, il y a un petit quelque chose qui cloche avec le souvenir. Exemple. J'ai un script qui demande des minutes pour 1,5-2 ans, les traite et les liquide. Tout est comme d'habitude. Je dois exécuter le script de manière séquentielle pour 15 à 20 caractères. Chaque exécution du script consomme environ 250 Mo. Et il n'est PAS libéré après la fin de son exécution, même après une longue période (des dizaines de minutes). Je dois périodiquement fermer le terminal, attendre 10-15 secondes pour que la mémoire soit libérée et le relancer. Non, je comprends, je dois garder l'historique en RAM lorsque le conseiller expert ou le script s'exécute (au cas où il en aurait besoin à nouveau). Mais pas toujours ! Le développeur sait généralement à l'avance si sa création aura de nouveau besoin d'un tableau de données. Compte tenu de ce qui précède, je pense introduire des commandes dans le langage pour forcer la libération de la mémoire des grands tableaux de données (y compris l'historique des citations) qui ne sont utilisés qu'une seule fois.

Mes scripts vont fonctionner, et 4-6 Go d'historique inutile vont se bloquer...

Документация по MQL5: Основы языка / Операторы / Оператор уничтожения объекта delete
Документация по MQL5: Основы языка / Операторы / Оператор уничтожения объекта delete
  • www.mql5.com
Основы языка / Операторы / Оператор уничтожения объекта delete - Документация по MQL5
 
Merci, nous allons vérifier.
 
Vous avez une attitude étrange envers le terminal et les ressources.

Un terminal de négociation n'a pas pour mission d'économiser des ressources alors que sa tâche principale est de travailler efficacement avec d'énormes quantités de données. De plus, vous ne pouvez pas vous plaindre que quatre copies du broyeur de chiffres n'ont pas assez de gigaoctets de mémoire dans un VPS.
 
Renat: ...Raison de plus pour ne pas se plaindre que quatre copies de l'outil de calcul ne disposent pas d'un giga de mémoire dans le VPS.
C'est vrai ! Mais réinitialiser la consommation de mémoire inutile (par ordre) ne ferait pas de mal.
 
muallch:
C'est vrai ! Mais remettre à zéro la consommation de mémoire inutile (par ordre) ne ferait pas de mal.

Le terminal a mis en place un bon système de remise à zéro du cache. Mais pas tous, car certains d'entre eux fonctionnent fondamentalement - si vous les avez élevés, c'est que vous êtes là pour longtemps.

La tâche du terminal est de travailler rapidement et efficacement, et non pas de réduire des quantités ridicules de mémoire. Il s'agit d'une classe de programmes qui doivent traiter rapidement d'énormes quantités de données.

 
Renat:
Vous avez une attitude étrange envers le terminal et les ressources.

Le terminal commercial n'a pas pour mission d'économiser des ressources alors que sa tâche principale est de travailler efficacement avec d'énormes quantités de données. De plus, vous ne pouvez pas vous plaindre que quatre copies du broyeur de chiffres ne disposent pas de suffisamment de gigaoctets de mémoire dans le VPS.

Ce n'est pas le problème, mais le comportement différent sur le serveur Win2003x64 (VPS) et Win7x64 Home.

http://file.karelia.ru/6v55j5/ la vidéo sur le lien indique que lors du démarrage du terminal, celui-ci consomme beaucoup plus de mémoire allouée que ce que le système d'exploitation indique pour ce processus.