DEFRAGMENTEUR DE RAM

Dragonmaster Messages postés 126 Date d'inscription vendredi 20 août 2004 Statut Membre Dernière intervention 3 avril 2009 - 1 nov. 2004 à 15:35
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010 - 22 sept. 2005 à 12:20
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

draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
22 sept. 2005 à 12:20
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 @+
cs_heine Messages postés 58 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 15 novembre 2006
22 sept. 2005 à 12:09
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....
Golbatt Messages postés 6 Date d'inscription vendredi 22 novembre 2002 Statut Membre Dernière intervention 22 janvier 2006
4 juin 2005 à 14:38
Quelqu'un sait comment lire et écrire dans la RAM ??
fg85 Messages postés 370 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 13 avril 2007
1 janv. 2005 à 18:49
Bon programme merci

-------------------------
http://fg.logiciel.free.fr
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
3 nov. 2004 à 19:42
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
@ +
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
3 nov. 2004 à 19:31
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....
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
2 nov. 2004 à 17:49
hum c'est bien ce que je pensais.

Bonne prog
++
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
2 nov. 2004 à 17:06
ah jme disais bien que ça ralentissait tout après, vive le reboot
donc c'est pas la solution de l'avenir :-(
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 nov. 2004 à 16:29
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.
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
2 nov. 2004 à 14:50
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
++
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
2 nov. 2004 à 12:21
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.
@ +
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
2 nov. 2004 à 12:14
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
++
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
2 nov. 2004 à 00:19
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 @+
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
2 nov. 2004 à 00:12
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
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 nov. 2004 à 23:58
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)
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 nov. 2004 à 23:41
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
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
1 nov. 2004 à 21:12
Source sympa en effet. Heureusement que çà ne plante pas. :o)
e_NeX Messages postés 104 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 30 novembre 2009
1 nov. 2004 à 17:23
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 ...)
cs_lo4 Messages postés 33 Date d'inscription vendredi 1 février 2002 Statut Membre Dernière intervention 7 mai 2007
1 nov. 2004 à 17:03
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
Dragonmaster Messages postés 126 Date d'inscription vendredi 20 août 2004 Statut Membre Dernière intervention 3 avril 2009
1 nov. 2004 à 16:50
Dragonmaster Messages postés 126 Date d'inscription vendredi 20 août 2004 Statut Membre Dernière intervention 3 avril 2009
1 nov. 2004 à 16:46
Ok, sinon pour le systray tu aurais pu eviter d'utiliser la DLL
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
1 nov. 2004 à 16:25
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
Dragonmaster Messages postés 126 Date d'inscription vendredi 20 août 2004 Statut Membre Dernière intervention 3 avril 2009
1 nov. 2004 à 15:39
Sinon, j'ai essayé le code et il marche nickel mais est ce que il optimise vraiment ?
Dragonmaster Messages postés 126 Date d'inscription vendredi 20 août 2004 Statut Membre Dernière intervention 3 avril 2009
1 nov. 2004 à 15:35
draluorg de chez astase ?

C'est Adilou...
Rejoignez-nous