Articles of mémoire de

Détection d’une fuite de mémoire en Python

J’ai un module python en cours d’exécution en tant que service. Existe-t-il un moyen de détecter la fuite de mémoire sur le processus en cours d’exécution? Jusqu’à présent, la plupart des outils que j’ai vus en ligne, tels que muppy, ne font qu’utiliser la mémoire sur tous les processus en cours (j’ai plusieurs processus python) […]

Comment lire en toute sécurité la mémoire sous Unix (ou au moins Linux)?

Je veux lire un octet de mémoire mais je ne sais pas si la mémoire est vraiment lisible ou non. Vous pouvez le faire sous OS X avec la fonction vm_read et sous Windows avec ReadProcessMemory ou avec _ try / _catch. Sous Linux, je pense pouvoir utiliser ptrace, mais seulement si ce n’est pas […]

Pourquoi l’exécution de SQLite (via python) entraîne-t-elle un remplissage “non officiel” de la mémoire?

Je m’occupe de gros fichiers de firebase database (des dizaines de millions de disques, environ 10 Go) en utilisant SQLite. Je fais l ‘interface standard de ce python. Lorsque j’essaie d’insérer des millions d’enregistrements dans la firebase database ou de créer des index sur certaines colonnes, mon ordinateur manque de mémoire. Si je regarde le […]

Pourquoi tant d’applications allouent une quantité incroyable de mémoire virtuelle sans l’utiliser?

Je regarde des phénomènes étranges dans la programmation depuis un certain temps, car la surconsommation est activée par défaut sur les systèmes Linux. Il me semble que pratiquement toutes les applications de haut niveau (par exemple, les applications écrites en langage de programmation de haut niveau comme Java, Python ou C #, y compris certaines […]

Comment mapper deux adresses virtuelles sur la même mémoire physique sur Linux?

Je suis confronté à un problème assez délicat. J’essaie d’obtenir 2 zones de mémoire virtuelle pointant vers la même mémoire physique. Le but est d’avoir des parameters de protection de page différents sur différentes zones de mémoire. Sur ce forum, l’utilisateur semble avoir une solution, mais il semble plutôt pirate et il est clair que […]

Quelles sont les bonnes directives pour choisir la taille des types entiers?

J’ai cherché un peu, et je n’ai pas vraiment trouvé de réponse à cela. Lorsque je programme sur des appareils embarqués avec une mémoire limitée, je prends généralement l’habitude d’utiliser le plus petit type entier / virgule flottante qui fera le travail, par exemple, si je sais qu’un compteur sera toujours compris entre zéro et […]

vector n’efface pas la mémoire après avoir été hors de scope

J’ai rencontré le problème suivant, et je ne suis pas sûr si je me trompe ou si c’est un bogue vraiment étrange. Je remplis un grand nombre de chaînes et je veux qu’elles soient effacées à un certain moment. Voici un exemple minimal #include #include #include //sleep #include int main(){ { std::vector strvec; for(long i […]

L’exécution de ‘cat’ peut-elle accélérer l’access aléatoire à des fichiers sur une machine Linux?

sur un Linux box avec beaucoup de mémoire (quelques Gigs), je dois accéder au hasard à un gros fichier aussi vite que possible. Je pensais à faire un cat myfile > /dev/null avant d’y accéder afin que mes pages de fichiers entrent en mémoire de manière séquentielle, donc plus rapide qu’avec un access aléatoire sec. […]

Comment puis-je réduire l’empreinte mémoire d’un processus Linux minimal?

Considérons le programme C suivant, «pause.c»: void main() { pause(); } Comstackr cela sur x64 Linux 3.0.0-16-generic en utilisant cette commande ‘gcc -Os pause.c -o pause’ produit un exécutable de taille ~ 8KB. Lorsque j’exécute cet exécutable et examine son empreinte mémoire précise à l’aide de «pmap -d PID», il m’indique que la mémoire privée […]

Effacer la mémoire “en cache” dans / proc / meminfo sans drop_caches

J’ai un système embarqué fonctionnant avec le kernel Linux 2.6.10 (je sais!) Et j’ai remarqué qu’à mesure que le système rest en place pendant de longues périodes, l’utilisation de la mémoire cache – comme dans / proc / meminfo – augmente linéairement. Parfois, il atteint jusqu’à 70% de la RAM totale et le système se […]