Pourquoi un fichier texte de 200 Mo surcharge 4 Go de RAM

3

J'ai écrit un programme simple en c ++ qui effectue des calculs, génère un nombre dans un fichier texte et répète. Plusieurs millions de fois. Le fichier texte final faisait environ 215 mégaoctets. Pourtant, lorsque je l’ai ouvert, il a fallu plus de 5 minutes à gedit pour tout ouvrir, et j’ai passé en revue mes 4 Go de RAM et la permutation Linux. Pourquoi cela se produit-il lorsque la taille du fichier d'origine n'est que de 200 Mo?

un sandwich
la source
3
geditCelui qui utilise beaucoup de mémoire, n’est-ce pas votre propre programme, non?
Dre
Correct. Le programme, une fois exécuté, prenait moins de 20 Mo mais augmentait lentement d'environ 0,1 Mo toutes les minutes.
un sandwhich
Exécutez gedit à partir de valgrind. Cela vous dira s'il y a des fuites de mémoire présentes dans votre version de gedit. Sur mon système (Ubuntu 12.04.4), c'est le cas. Je dois donc quitter de temps en temps toutes les instances de gedit pour libérer toute la mémoire.
Dohn Joe

Réponses:

4

La recherche sur Google geditsemble traiter très mal les gros fichiers

Je voudrais essayer d'ouvrir les fichiers dans quelque chose comme less

vimPar défaut, il ne se comporte pas aussi bien que je le pensais pour les gros fichiers. Si vous voulez utiliser, vimvous devez utiliser quelque chose comme http://www.vim.org/scripts/script.php?script_id=1506.

Dre
la source
Eh bien, je viens d’essayer d’ouvrir le fichier dans gvim, et l’utilisation du bélier n’a augmenté que d’environ 230 Mo. C’est drôle, j’ai ouvert un programme écrit il ya environ 100 mb, mais gedit n’a pas réagi aussi sévèrement. Merci.
un sandwhich
Et pour répondre à l’autre partie de votre question, je ne sais vraiment pas pourquoi gedit utilise autant de mémoire - peut-être en partie à cause d’une mauvaise programmation ou d’un bogue. Je ne vois aucune raison pour cela. Si vous voulez le moyen le moins gourmand en mémoire pour afficher un fichier volumineux, je pense que lessc'est le seul moyen d'avancer, à partir de mes fouilles (vous ne pouvez pas le modifier dans ce cas, cependant)
Dre
+1 pour moins! Une fois, j'ai dû ouvrir un fichier 37.1 GiB et seulement moins travaillé!
AndrejaKo
Si vous modifiez le texte dans la ligne de commande, envisagez Geany . C’est le seul éditeur qui a fonctionné lors de mes tests avec plus de 1 fichier GiB. Très léger.
Marc.2377