Bonjours a toute la communauté du libre
alors voila j'ai besoins pour une raison diverse de vidé le cache mémoire
donc on procédé de cette maniéré, on va écrire dans le fichier drop_caches, 3 à la place de 0 si je comprend bien … ( echo "texte" > [chemin] )
mais pourquoi sa vide le cache quand on modifie juste le fichier drop_caches ???
sinon il y a un autre truc qui me perturbe …
sync
echo "3" > /proc/sys/vm/drop_caches
jusque là sa va … du moins je préfère la commande
sync && echo 3 | tee /proc/sys/vm/drop_caches
là ou je pige pas, ou on dit qu'il faut désactive l'option et remettre 0 dans drop_caches
alors on fait :
echo "0" > /proc/sys/vm/drop_caches
la machine me répond que l'argument est invalide
idem pour
sync && echo 0 | tee /proc/sys/vm/drop_caches
idem si on fait :
sync && sysctl -w vm.drop_caches=3
sync && sysctl -w vm.drop_caches=0
enfaîte je comprend pas a quoi sert la dernier commande
exemple avant de vidé votre cache mémoire, aller voir drop_caches
nano /proc/sys/vm/drop_caches
il est a 0
si on fait
echo "3" > /proc/sys/vm/drop_caches
echo "0" > /proc/sys/vm/drop_caches
il reste a 3 …
ces normale car il nous dit que l'argument n'est pas bon ….
alors à quoi sert la dernière commande.
serait t'il possible que c'est du fait que je suis en virtuel ???
merci d'avance de votre partage de connaissance
Cordialement Saturne.fr
-----------------EDIT : Titre de poste Modifier-----------------------
# Tout est fichier !
Posté par François GUÉRIN (Mastodon) . Évalué à 2.
Salut Saturne,
En fait, sous UNIX (et Linux est +- un UNIX), tout est fichier, et particulièrement l'interface de communication du noyau. En fait, lors de son lancement, le noyau Linux "rempli" (populate ?) un système de fichier virtuel, en général dans le dossier "proc" (héhé)
Ton ficher "/proc/sys/vm/drop_caches" est donc un paramètre du noyau Linux présenté comme un fichier, voila pourquoi tu peux en lire la valeur et y écrire comme dans un fichier (cat / echo / …).
Quand tu fais
sysctl -w vm.drop_caches=3
, tu passes directement la commande au noyau, c'est la même chose que de modifier le fichier…Bon courage !
[^] # Re: Tout est fichier !
Posté par Saturne.Fr . Évalué à 0.
Bonsoir François
donc si je comprend bien ce que tu m'explique, on va dire que linux à était bouté et virtualisé, avec initramfs ( image du noyau dans le boot ) dans "proc" , sa je comprend !
ensuite, je comprend bien que toute est fichier sur UNIX que sa part de la racine "/" …
1* mais alors pourquoi la valeur dans drop_caches n'a pas rechanger à 0 quand on utilise ( echo ) ,
vue que toute est fichier, on doit avoir la valeur à 0 avant la première commande, ensuite à 3 après la première commande, et à 0 après la deuxième commande … hors là j'ai le résultat 0; 3; 3 …
donc la dernière commande
sysctl -w vm.drop_caches=0
ne sert à rien …car linux à était virtualisé, et donc le fichier "drop_cache", ne change pas vraiment, ? heuuuu … si je te suis bien …
2* ensuite, tu me dit que si je modifie moi même le fichier drop_caches par exemple avec nano donc que je lui donne la valeur 3 j'enregistre, et j'ouvre de nouveaux pour lui redonner la valeur 0, alors sa reviendra à faire c'est deux commande, le cache mémoire seras vidé !!!
excuse moi, mais si tu pourrais me détaillé ton explication, je suis vraiment désoler François mais je ne tes pas compris !
cordialement Saturne.Fr
[^] # Re: Tout est fichier !
Posté par TheBreton . Évalué à 2.
Tout est fichier, mais pas fichier comme tu le conçois.
Le noyau est en ram en permanence, quand tu tente (peut importe la méthode) une écriture ou lecture dans /dev ou /proc tu n’accède pas à des fichiers proprement dis mais a une interface de communication entre le noyeau et l'utilisateur.
/proc sert surtout aux paramètrage des drivers (et en lecture à des variable d'état) /dev sert à la fonction de base du driver.
Lorsque tu va ouvrir avec nano ton fichier dans /proc tu va récupérer l'état actuel du paramètre du driver à l'instant de l'ouverture et quand tu sauvegardera alors aura lieu l'indication de demande du changement du paramètre au driver correspondant.
Mais l'écriture ne sera qu'une demande de modification du comportement du driver, si il n'as pas envie que son paramètre soit modifié, lors de la lecture suivante tu aura l'impression que ton fichier n'as pas été modifié alors que c'est le driver qui as décidé que le paramètre demandé n'était pas applicable et conserve son ancien paramètrage.
C'est plus clair ?
[^] # Re: Tout est fichier !
Posté par Saturne.Fr . Évalué à 1.
Ah oki Dac
je comprend beaucoup mieux merci
bon ben ce poste est résolu alors ;-)
il est bien foutu le manchot quand même :-D
Merci à tous
Cordialement Saturne.Fr
# Moi ya toujours un truc que je ne comprends pas
Posté par Marotte ⛧ . Évalué à 2.
Pourquoi 0 est une valeur valide avant qu’on la passe à 3 et qu’ensuite elle est invalide lorsque l’on veut la remettre à 0 ?
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par TheBreton . Évalué à 3.
Je suppose(*) que c'est un paramètre trigger et non pas persistant. L'action d'écriture "echo 3" provoque l'action de vidage des caches en mémoire.Quand c'est fini c'est fini, le relire ne sert qu'a savoir la dernière action réalisée (0 correspondant à aucune action donc au boot).
Ce paramètre ne modifie pas le futur comportement du gestionnaire mémoire,il déclenche seulement une action, je suppose qu'en faisant "echo 1" ensuite, on relirait "1".
*(mais il faudrait lire le code de vm pour le confirmer)
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par Saturne.Fr . Évalué à 1.
Oui je pense que TheBreton n'a pas totalement tort, je pense qu'il a raison
simplement quand tu reboute l'OS la valeur est de nouveaux 0, donc 0 est aucune action
quand on tape
echo "3" > /proc/sys/vm/drop_caches
il prend on compte immédiatement le changement, quand il a fini il le remet à 0 par défaut ( car il y a plus d'action ! )
mais comme le fichier texte drop_caches ( est un instantanée ) il reste à la valeur 3
voila pourquoi quand on veux lui données la valeur 0 il ne veux pas parce-que en faite le noyau, est déjà reparti à 0 ( aucune valeur en faite ) automatiquement après la valeur 3, voila pourquoi il invalide quand on le change, car elle existe déjà cette valeur pour le noyau !
donc d’après moi, effectivement la dernière commande
echo "0" > /proc/sys/vm/drop_caches
qui traîne sur le web disant de remettre a 0 ne sert a rien !car le noyau ce remet par défaut automatiquement sur la valeur 0
cordialement Saturne.Fr
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par _kaos_ . Évalué à 1.
Surtout, quant on prend la doc de vm, on lit pour
drop_caches
:Donc, bon, c'est une option de test/debug… pas une solution à utiliser.
Matricule 23415
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par Saturne.Fr . Évalué à 0. Dernière modification le 18 février 2016 à 14:45.
en faite en ce qui me concerne
je cherchais une solution pour supprimer les traces ( si je peux dire
physiquepense pas ce c'est le mot approprié ) dans la mémoire rapide une fois la machine éteinte !la méthode ci-dessus, libère au mieux juste l'espace RAM pouvant être libéré … ( mémé si c'est pas la meilleur méthode, j'en connais pas d'autre !! )
éclairé moi, si je me trompe !
la RAM est comme un support de stockage, sauf que la rapidité de transfère est beaucoup plus importante
donc si on fait une recherche de fichier supprimer dans la RAM, ( je pense que sa doit être possible )
avec foremost, … ou autre…,
on pourrais retrouvé des codes de l'OS ou d'application, ( enfin tout ce qui passe dans la RAM )
je voudrais savoir si il y a possibilité par exemple d'utilisé dd pour effacé définitivement les traces dans la mémoire vive
je dit peut être n'importe quoi !!!
il y a peux être plus de trace dans la RAM quand elle est déchargé d’électricité !
mais j'aimerais savoir ?
cordialement Saturne.Fr
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par KiKouN . Évalué à 3. Dernière modification le 18 février 2016 à 15:20.
Si la donnée est en cache, une mise en hibernation doit la supprimer ( méthode simple ) ou faire un programme qui bouffe le plus de mémoire possible et la réécrit ( méthode barbare et non sûre ).
Si la donnée est dans la mémoire d'un processus ( suite à un malloc ), il faut la réécrire avant de la libéré. Si tu la libére comme cela, elle sera à coup sûre réutilisée par un autre processus. Et là, il sera plus difficile de s'assurer qu'elle soit bien réécrite.
Bien entendu, ceci est utile seulement si ta donnée n'est pas en clair sur tes disques.
Après, c'est tellement le foutoire la gestion de la mémoire dans un PC, il ne faut pas oublier tout les caches, les swap, que la mémoire peut bouger de place, etc… Si tu ne peux pas faire confiance à la machine pour cela, alors déporte ta donnée sensible sur une autre machine.
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par freem . Évalué à 2.
La RAM est volatile, c'est à dire que les informations sont perdues quand elle n'est plus alimentée. C'est d'ailleurs la raison d'être des disques durs.
Il est peut-être possible de récupérer des informations une fois l'alimentation coupée, mais… pas avec un vulgaire logiciel, si jamais c'est possible, il faut sûrement avoir recours à du matériel de cinglé. Du même type que le matos nécessaire pour récupérer des données sur un disque quand elles ont déjà été écrasées.
Du coup, je pense que tu te prends la tête pour rien. Une fois le système éteint, le seul endroit ou il est relativement aisé de récupérer des données de RAM, c'est le swap. Et pour régler le problème, c'est simple:
# swapoff -a
avant de faire un truc sensible. Et si, comme moi, tu considères que le swap ne sert à rien, tu peux juste supprimer ça de façon permanente de /etc/fstab.[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par Marotte ⛧ . Évalué à 2.
Il me semble que certains ont réussis à le faire avec de l’azote liquide, pour… retarder la « décharge » des barrettes de RAM…
Donc oui… faut vraiment avoir des secrets de ouf à cacher… Parce que pour le commun des fouineurs, aller lire ce qu’il y avait dans ta RAM une fois qu’elle n’est plus alimentée c’est de la pure science-fiction…
Et sinon pour être sûr de chez sûr. À chaque fois que tu éteinds ton ordinateur tu prends le soin de rebooter pour lancer un memtest, ça va labourer la RAM méthodiquement. T’es tranquille ;)
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par Saturne.Fr . Évalué à 1.
Oki merci de toute ces informations les Gars, je suis curieux, j'aime savoir des choses ;-)
vous m'aviez amplement aidé :-D
je vous remercie
Vive la communauté du libre
le manchot vaincra … ( un jours …, si ce n'est déjà fait ) :-D XD
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par freem . Évalué à 4.
Tsss… les meilleurs du monde libre, ce sont les gens pragmatiques.
Linus Torvalds à accepté l'intégration de binaires fermé dans le noyau, parce que, justement, la communauté du libre ne sait pas tout faire.
Par contre, certains éléments savent:
Bref, la communauté du libre, c'est avant tout la liberté de penser, et pour ça, il faut penser par soi-même, et pas forcément par stallman.
Mais, si tu es curieux, n'hésites surtout pas à troller avec nous, c'est en se faisant contredire que l'on apprend le plus. Et bien sûr, en acceptant la critique.
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par GG (site web personnel) . Évalué à 2.
Cherche "Attaque froide".
Pas besoin d'azote liquide, une simple bombe de neige carbonique fait déjà des miracles.
Ensuite, lire la mémoire n'est pas difficile pour un développeur.
A+
Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par freem . Évalué à 2. Dernière modification le 19 février 2016 à 02:21.
Hum. 2 choses à dire.
M'enfin, tu dois savoir qu'ici, on demande des trucs un peu plus détaillés que des théories fumeuses, alors j'attends avec impatience tes liens.
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par GG (site web personnel) . Évalué à 2.
Au moment où j'écrivais le commentaire, j'avais trop de trucs sur les 2 CPU pour me permettre de surfer sur le web (linuxfr est un léger par rapport à beaucoup d'autres).
https://fr.wikipedia.org/wiki/Attaque_par_d%C3%A9marrage_%C3%A0_froid
http://korben.info/cold-boot-android.html
Heureusement que sur certains appareils le retrait de la batterie est difficile… (humours)
PS : j'utilise en ce moment une cubietruck, dans un pays avec des restrictions Internet par la méthode 'ça marchouille quand ça veut' (Les tunnels améliorent la situation, mais il y a du lag et c'est très lent (QOS))
Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html
[^] # Re: Moi ya toujours un truc que je ne comprends pas
Posté par Saturne.Fr . Évalué à 3. Dernière modification le 27 février 2016 à 14:05.
Pour les curieux je partage ;-)
( libéré l'espace, qui peut être libéré, qui n'est pas vitale dans la RAM )
( cette méthode fait freezer l'OS ( le fait planté ), et supprime les données non protégé )
utilisé votre éditeur de texte favori pour le lire
( en hexadécimal )
( voir l'état de la RAM )
Amusez-vous bien ;-)
Cordialement Saturne.Fr
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.