Défragmenteur de RAM

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Si tu veux savoir quelle ressource est utilisée, il est possible d'utiliser un petit outil fourni avec Windows (enfin pour Me) c'est le vumètre ressource auquel tu accèdes par le même chemin que le nettoyeur de disque, dans outils système. Une fois lancé, il se colle dans la barre des tâches et varie du vert au rouge en fonction des ressources utilisées (Mémoires, charge CPU, etc..) donc en lançant un programme lourd comme Word puis un autre, puis un autre, regardes comment il réagit.

le problème de la RAM, c'est qu'elle aussi elle se fragmente, et au bout d'un moment il est nécessaire de la défragmenter comme le disque dur, sinon les accès sont plus longs.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Jacobus a écrit :le problème de la RAM, c'est qu'elle aussi elle se fragmente, et au bout d'un moment il est nécessaire de la défragmenter comme le disque dur, sinon les accès sont plus longs.
Oui c'est ça que je veux savoir. Comment défragmenter la Ram?
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Ben j'utilise un programme qui fait ça tout seul tout le temps.
Personnellement j'ai TuneUp Utilities qui otimise la RAM en arrière plan, qui me nettoie le registre et plein d'autres choses encore.

Si tu veux créer un log qui fasse ça .... ben bon courage, moi je ne suis pas assez calé. :?

Jacobus
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Oui sauf qu'on est pas tous sous 2000/XP et tout ces systèmes qui sont biens et qui te gèrent ta ram encore mieu que ce que tu peux demander.
La majorité est sous 98 qui sait pas gèrer sa ram et ME qui est à peux près pareil.
Donc ça peut servire.
Surtout quand on a un Toshiba Satellite 1400 avec une carte son émulée et de très mauvaise qualité pour ne pas dire autre chose et qu'en plus on est sous 98 qui sait pas gèrer la RAM.
Mais bon... là n'est pas la question :-) faut que je trouve j'en ai besoin pour moi déja :-).
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Oui ça aide parfoies... j'aimerais faire un truc juste avec la RAM déja. J'ai fais un truc pour WIN9X... enfin tout ce qui a encore le vrai DOS qui t'optimise la base de registre au démarrage de l'ordinateur. ça ralanti un peu, mais ça aide.
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

8O J'ai comme un doute, Comtois, concernant l'astuce.
Elle m'a l'air tellement simple qu'elle m'inquiète.
Libérer et défragmenter sont deux choses différentes.
Donc libérer 50 Mo de mémoire, c'est n'importe quelle partie.
ce truc y va pas regarder si tu t'en sers ou pas. il remet à 0
Défragmenter c'est arranger dans le bon ordre puis libérer l'excédent...
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Oui j'ai testé même après avoir utilisé Word et pui avoir lancer mon prog qui prenait bcp de mémoire, écrivait une longue chaîne de caractaires contenant plains de @ qui est le caractair le plus gros, te confirmant que ct bien fait, pui qui libèrait la mémoire qu'il avait prit, et le tot de resources disponible restait inchangé.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Jacobus a écrit :8O J'ai comme un doute, Comtois, concernant l'astuce.
Pour tout te dire , je n'ai aucune idée de ce que vaut cette astuce .
Je ne suis pas un adepte des gadgets des trucs et des astuces , je laisse tourner mon pc tel quel , et ça me suffit bien :)


Tiens on retrouve cette astuce sur un autre site , bon ok ils se recopient les uns les autres :)
en créant un petit texte avec Notepad (Bloc-note) et en créant un raccourci sur le bureau de Windows, vous allez pouvoir libérer de la mémoire : Ouvrez Notepad et tapez ceci : FreeMem = Space(24000000) Sauvez ce texte sous l'appelation que vous désirez mais avec l'extension VBS (par exemple : Mémoire.vbs). Il ne vous reste plus qu'à faire un clique bouton droit de la souris sur ce texte et de cliquer sur Envoyer vers-Bureau (créer un raccourci). Avec cet exemple, vous libérez 24 méga-octets de mémoire sans utiliser aucune ressource système !! Dernier avertissement : ne pensez surtout pas pouvoir libérer l'intégralité de la mémoire installée. Vous n'obtiendriez qu'un joli message d'erreur : Category: Microsoft VBScript runtime error Description: Out of string space: 'Space' Limitez-vous à la moitié de la ram installée et surtout pensez à fermer tous les programmes ouverts avant de cliquer sur ce raccourci. Nota : cette astuce est directement utilisable sous Windows 98/98 Second Edition et Win ME ainsi que toutes versions de Windows utilisant Internet Explorer 5 ou supérieur. Si ce n'est pas votre cas il vous faudra télécharger sur le site de Microsoft la version 5 de MSE (Microsoft Scripting Engines).
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

de memoire(la mienne dans ma tete !!)

virer les relicas de données qui trainent dans la Ram d'un system
s'appelle un "Garbage collection"
fait une recherche avec ce mot sur google peut etre trouvera tu ton bonheur


cherchez pas mon 2 em nom c'est encyclopedie !! :D
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Mouai... je pourais bien faire un programme qui génère le VBS mais bon... pk pas.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

comtois a écrit :Je ne sais pas si c'est de ce genre de choses dont tu parles ?

http://www.dotnetguru.org/articles/GC/GC.html


http://msdn.microsoft.com/library/fre/d ... ection.asp

Si c'est le cas , je te souhaite du courage ,ça a l'air hyper hardu :?
Donc il avait raison. J'ai mal lu fo que je revoi ça.
Mais il faut aussi que je trouve comment faire ça avec PureBasic. :-) et oui comme l'a dit comtois, ça a l'air hyper hardu ;-)
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

euh, sous 98 la mémoire est en partie gérée par dos...
donc vouloir optimiser la mémoire depuis windows.... hum
hardy
Messages : 333
Inscription : mer. 02/juin/2004 13:19
Localisation : Tours

Message par hardy »

Si ça peut aider, je sais au moins localiser les parties de la mémoire affectées à des processus en cours (je code ça quand j'ai le temps. J'ai des morceaux ayant servis à diverses choses)
principe:
énumérer les processus en cours.
pour chaque processus, rechercher les zones qui lui sont allouées, en parcourant la mémoire avec VirtualQueryEx et un handle sur le processus.
Après ça, on sait ce qui n'est pas utile.
On peut libérer les zones restantes avec VirtualFreeEx ("uncommit")
Quant à déplacer des zones de mémoires affectées à des processus en cours, je ne sais pas. Délicat, si possible.

Notes: avant tout récupérer la taille des pages ("unités de mémoire"), et les addresses max/min d'allocation avec GetSystemInfo.
tout se traite par page (quelques Ko): une page ne peut être partagée.
Les fonctions sur la mémoire ne distinguent pas la RAM physique du fichier d'échange (sur le disque) donc la taille totale est bien supérieure à celle de la RAM.

A mon avis, pour déplacer la zone mémoire d'un processus en cours, il faut le mettre en pause, copier sa mémoire où l'on veut, modifier le "paging file" pour faire correspondre les addresses virtuelles avec la nouvelle localisation, puis reprendre le processus.
Mais ça doit être compliqué...
Pour mettre un processus en pause, PauseThread marche bien, à condition d'avoir l'id du thread primaire créé par le processus, qui n'est pas l'id du processus lui-même.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Euh... oué c hard... je veux bien des codes stp...
Merci :-) ça va être chaud
Répondre