DEFRAGMENTEUR DE RAM

Signaler
Messages postés
126
Date d'inscription
vendredi 20 août 2004
Statut
Membre
Dernière intervention
3 avril 2009
-
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27226-defragmenteur-de-ram

Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

Salut,

Et bien non desole de te decevoir toi et tous cesux que pensent ca,
mais windows ne mets pas la meme en swap, enfin si ms juste le temps de l'optimisation. Apres tout revient dans l'ordre, et si tu ressent un ralentissement apres c'est juste que Windows a vider le cahce memoire et donc le temps qu'il remette ce qui doit etre en cache certaiuns ralentissement se font sentir...
Mais je vous assure il ne passe pas la ram en swap ouvrez le gestionnaire de tache pdt l'utilisation demon soft et vous vourrez!

Bonne prog a tous @+
Messages postés
58
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
15 novembre 2006

Ce programme prend effectivevement une ENORME place dans la ram, ce qui n'a pour unique résultat de la saturer, et de faire ainsi paser son contenu en SWAP.... étant donné la difference de performance entre les disques dur et la mémoire vive, à moins d'avoir bien optimisé sa swap (partition dédié sur debut de lecteur + dd surpuissant) les résultat ne sont pas toujours bons....
Messages postés
6
Date d'inscription
vendredi 22 novembre 2002
Statut
Membre
Dernière intervention
22 janvier 2006

Quelqu'un sait comment lire et écrire dans la RAM ??
Messages postés
370
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
13 avril 2007

Bon programme merci

-------------------------
http://fg.logiciel.free.fr
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
On a rien contre ton prog, on essaye juste de savoir si cette méthode apporte du plus ou du moins pour l'utilisateur. On sait maintenant qu'il faut l'utiliser que pour libérer quelques Mo après un jeu et voilà
bonne prog
@ +
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

salut a tous,

bein en fait ceci est une manip prevue par krosoft et en fait ca libere la memoire inutilisee et la memoire mise en cache il est claire que si vous essayez de libere trop il rique en effet de mettre une partie sur le swap mais j'ai pas dis qu'il fallait essayer de liberer 80% quand on en avait 30 de dispo puis le fait du ralentissement apres optimisation vient juste du fait qu'il a vider la memoire cache systeme et ne dure pas longtemps et on y gagne quand windows a remis en cache ce qui doit l'etre !ouvrez mon prog et ouvrez le gestionnaire de tache cliquez sur optimiser et vous verrez ce que je veux dire
sur ce chacun a le droit d'avoir son opignion sur l'utilite ou non du programme mais de la a dire que ceci n'a rien a faire dans du VB je vois pas le rapport la commande freemem est une comande vb donc....
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
hum c'est bien ce que je pensais.

Bonne prog
++
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
ah jme disais bien que ça ralentissait tout après, vive le reboot
donc c'est pas la solution de l'avenir :-(
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
TOUT CECI EST A BANNIR !!!

L'alloc reguliere de grands blocs de memoire inutiles ne fera que forcer le systeme a bosser sur disque au lieu de la RAM par swaps continuels, rien de tel pour ramener les perfs d'un P4 au niveau d'un 486.
L'API expose des fonctions telles HeapCompact() etc... pour gerer la memoire mais ceci comme d'autres choses n'ont rien a faire dans un prog VB.
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Ouep ça tiens la route.

Le seul pb est de savoir si lors de la creation de la chaine le prog fait bien le tri entre la memoire qui n'est plus utilisée et celle qui l'est encore.

Imaginons qu'il te reste sur 128 Mo, seulement 30 Mo de libre et que tu demande de libérer 64 Mo.
Pourquoi la chaine ne serait pas créée pour les 30 Mo restant dans la RAM et les 34 autres dans la mémoire virtuelle.

Reste donc à savoir quelle est le fonctionnement reel de la fonction...

A mon avis cela dépend non pas de VB ni même de la fonction mais de windows lui même. C'est lui qui gère la mémoire, et il alloue les ressources necessaires à la fonction comme il l'entend.

Cependant, il doit exister des API pour forcer à utiliser une certaine allocation mémoire !?!? (En attente des lumieres des plus anciens d'entre nous). Et la pourquoi pas.

Bonne prog
++
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
Je ne suis pas pro non plus mais si on est logique, le fait de créer une chaine si grande en mémoire doit virer de la mémoire qui n'est plus utilisée pour qu'elle serve à stocker la chaine d'espace. Ensuite à la fin de la fonction (ou du programme) la chaine est supprimée et donc plein de Mo de Ram sont libérés d'un coup. Par contre si tu veux en libérer trop, celle-ci est déplacée vers le fichier SWAP (mémoire de secours sur le disque dur) ce qui est beaucoup plus lent d'accès, donc ne pas essayer de libérer trop de mémoire ça ne ferait que ralentir le système.
@ +
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Il fut un temps ou j'avais fait un petit soft utilisant la fonction Space pour libérer de la RAM sous Win98.

Après quelques temps d'utilisation j'ai viré le tout car il finissait par ralentir mon pc en fin de journée.

Après quelques recherche je me suis rendu compte que Space ne libère pas de mémoire mais créé un chaine de x espaces.

Essayez ça :
Msgbox "Petit" & Space(118) & "test !!!"
Et voyez un peu le résultat.

Par contre j'ai remarqué que Space(1) occupe 1 octet de mémoire, Space(2) 2 octets ... etc
Ainsi si j'ai 128 Mo de RAM je peux faire :
Space(128 * 1024 * 1024)
Mais si je fais Space((128 * 1024 * 1024) + 1) : là ça bug.

Je ne suis pas très doué dans ce domaine mais je ne vois pas comment cela peut libérer de la mémoire.
Si quelqu'un a une solution à apporter !!

Bonne prog
++
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

salut a tous,

en reponse a Jack;
en fait j'ai teste l'application plusieurs fois plusieurs heures j'ai mis le pc en veille j'ai eu aucun probleme avec l'ecran de veille non plus

Sinon je ne sais pas comment il a pu te renvoyer cette variable , et ou a t il essaye de l' ecrire?
en plus le slider1 n'a rien a voir avec l'optimisation automatique qui utilise le slider2 + 10 si tu savais me donner plus de prrecision sur l'ereur que tu recois

merci a tous pour vos remarque @+
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
Puré j'aurais jamais osé penser qu'en une ligne on pouvait libérer la mémoire vive, j'ai du aller chercher dans google des explications parce que je ne voyait pas du tout les lignes de codes qui se chargeaient de ça... c'est fou la vie ;-)
J'vais bien dormir ce soir, par contre j'ai remarqué que si on cherche à libérer trop de mémoire, ça en déplace dans le fichier SWAP, donc tout est beaucoup plus lent après. Et il est aussi recommandé de ne pas dépasser la moitié de la mémoire totale installée.
sur ce, a + tout le monde
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Arg. Pour "m'amuser" j'ai mis en service l'optimisateur en route à 60% alors que j'étais à 53% et 0% à récupérer (je venait de lancer le pgm) :
Dans Timer3_Timer, il a tenter d'écrire une variable chaine, FreeMem de 332.800.000 caractères !
Est-ce normal docteur ?
Es-tu sûr de tes calculs ? Manquerait pas un niveau de parenthèses dans :
FreeMem = Space((RAMTotal / 100 * FreeR) / 2 * 1024 * 1000)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut draluorg
Belle prouesse !
Reste à confirmer que cela ne bug pas trop dans le temps ... Tu l'as déjà fait tourner des sessions entières de Windows ?
Tu peux y ajouter cela et ton application saura gérer le démarrage automatique au démarrage de Windows, une petite case à cocher en plus : http://www.vb-helper.com/howto_run_at_startup.html
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
Source sympa en effet. Heureusement que çà ne plante pas. :o)
Messages postés
104
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
30 novembre 2009

Salut,

ta source a l'air interessante, je ne l'ai pas encore teste mais si ma ram pete a cause ton ton prog c toi ki paie? un conseil: met une license pour dire que t'est pas reponsable des degats que ton prog peux causer!

jus pour faire plus 'Clean'
ps: NAN je suis pas parano!(Krosoft c'est bien mais ...)
Messages postés
33
Date d'inscription
vendredi 1 février 2002
Statut
Membre
Dernière intervention
7 mai 2007

Bonjour,
Très bonne source
J'ai essayé de l'adapter en vb.Net 2005 mais il fait exactement le contraire de ce qu'il devrait faire
Quelqu'un a t-il une solution ?
Merci d'avance

Au revoir
Messages postés
126
Date d'inscription
vendredi 20 août 2004
Statut
Membre
Dernière intervention
3 avril 2009

Messages postés
126
Date d'inscription
vendredi 20 août 2004
Statut
Membre
Dernière intervention
3 avril 2009

Ok, sinon pour le systray tu aurais pu eviter d'utiliser la DLL
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

salut oui de chez astase

eehh bein en fait ca libere la memoire "perdue" en chemin au fur que l'on ouvre et ferme des programmes
Messages postés
126
Date d'inscription
vendredi 20 août 2004
Statut
Membre
Dernière intervention
3 avril 2009

Sinon, j'ai essayé le code et il marche nickel mais est ce que il optimise vraiment ?
Messages postés
126
Date d'inscription
vendredi 20 août 2004
Statut
Membre
Dernière intervention
3 avril 2009

draluorg de chez astase ?

C'est Adilou...