draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 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és58Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention15 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és6Date d'inscriptionvendredi 22 novembre 2002StatutMembreDernière intervention22 janvier 2006 4 juin 2005 à 14:38
Quelqu'un sait comment lire et écrire dans la RAM ??
fg85
Messages postés370Date d'inscriptiondimanche 28 mars 2004StatutMembreDernière intervention13 avril 2007 1 janv. 2005 à 18:49
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 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és625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 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és1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 2 nov. 2004 à 17:49
hum c'est bien ce que je pensais.
Bonne prog
++
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 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és2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 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és1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 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és625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 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és2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 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és14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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és14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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és4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 1 nov. 2004 à 21:12
Source sympa en effet. Heureusement que çà ne plante pas. :o)
e_NeX
Messages postés104Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention30 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és33Date d'inscriptionvendredi 1 février 2002StatutMembreDerniè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és126Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention 3 avril 2009 1 nov. 2004 à 16:50
22 sept. 2005 à 12:20
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 @+
22 sept. 2005 à 12:09
4 juin 2005 à 14:38
1 janv. 2005 à 18:49
-------------------------
http://fg.logiciel.free.fr
3 nov. 2004 à 19:42
bonne prog
@ +
3 nov. 2004 à 19:31
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....
2 nov. 2004 à 17:49
Bonne prog
++
2 nov. 2004 à 17:06
donc c'est pas la solution de l'avenir :-(
2 nov. 2004 à 16:29
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.
2 nov. 2004 à 14:50
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
++
2 nov. 2004 à 12:21
@ +
2 nov. 2004 à 12:14
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
++
2 nov. 2004 à 00:19
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 @+
2 nov. 2004 à 00:12
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
1 nov. 2004 à 23:58
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)
1 nov. 2004 à 23:41
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
1 nov. 2004 à 21:12
1 nov. 2004 à 17:23
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 ...)
1 nov. 2004 à 17:03
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
1 nov. 2004 à 16:50
http://support.microsoft.com/default.aspx?scid=KB;fr;q176085
1 nov. 2004 à 16:46
1 nov. 2004 à 16:25
eehh bein en fait ca libere la memoire "perdue" en chemin au fur que l'on ouvre et ferme des programmes
1 nov. 2004 à 15:39
1 nov. 2004 à 15:35
C'est Adilou...