Accueil > > > LIBÉRER DE LA RAM
LIBÉRER DE LA RAM
Information sur la source
Description
C'est un morceau de code pour libérer une quantité voulue de RAM.
Je vous le donne tel quel, il suffit de le coller dans votre Form.
Si vous voulez le voir en action, visitez ce lien:
http://www.vbfrance.com/codes/TEMPERATURE -CHARGE-CPU-LIBERATION-MEMOIRE-POUR-CARTE-ASUS_366 65.aspx
C'est une source qui récupère les infos des cartes Asus (mais le reste fonctionne avec les autres cartes) et accessoirement qui libère de la mémoire.
Voilà, j'espère que ça vous sera utile...
Source
- Option Explicit
-
- Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
-
- Private Type MEMORYSTATUS
- dwLength As Long
- dwMemoryLoad As Long
- dwTotalPhys As Long
- dwAvailPhys As Long
- dwTotalPageFile As Long
- dwAvailPageFile As Long
- dwTotalVirtual As Long
- dwAvailVirtual As Long
- End Type
-
- Const OCTETVERSMO = &H100000
-
- Private Sub Form_Load()
-
- Dim lCompteur As Long
- Dim MemStat As MEMORYSTATUS
- Dim sFree() As String
- Dim lMax As Long
- Dim lInit As Long
- Dim lQuantiteVoulue As Long
- Dim lQuantite As Long
-
- 'On récupère la valeur de la mémoire initiale
- GlobalMemoryStatus MemStat
- lInit = Int(MemStat.dwAvailPhys / OCTETVERSMO)
-
- 'On demande la quantité à libérer
- lQuantiteVoulue = InputBox("Quantité à libérer en Mo:", , 20)
- lQuantite = lQuantiteVoulue
-
- Do
- 'lMax est le nombre de fois que l'on va attribué un Mo de mémoire à sFree
- lMax = Int(MemStat.dwAvailPhys / OCTETVERSMO) / 2 + lQuantite + 5
-
- 'On bouffe toute la mémoire
- For lCompteur = 0 To lMax
- ReDim Preserve sFree(lCompteur)
- sFree(lCompteur) = String$(OCTETVERSMO, vbNullChar)
- Next
-
- 'On rend la mémoire prise
- ReDim sFree(0)
- DoEvents
-
- 'On teste si il est encore possible de récupérer de la mémoire sinon on sort de la boucle
- GlobalMemoryStatus MemStat
- If lQuantiteVoulue - Int(MemStat.dwAvailPhys / OCTETVERSMO) + lInit > lQuantite And Int(MemStat.dwAvailPhys / OCTETVERSMO) > lInit Then
- Exit Do
- Else
- lQuantite = lQuantiteVoulue - Int(MemStat.dwAvailPhys / OCTETVERSMO) + lInit
- End If
-
- 'On boucle jusqu'à la libération de la mémoire voulue
- Loop Until Int(MemStat.dwAvailPhys / OCTETVERSMO) >= lInit + lQuantiteVoulue
-
- Erase sFree
- MsgBox (Int(MemStat.dwAvailPhys / OCTETVERSMO) - lInit) & " Mo ont été libérés.", vbInformation
-
- End Sub
Option Explicit
Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
Private Type MEMORYSTATUS
dwLength As Long
dwMemoryLoad As Long
dwTotalPhys As Long
dwAvailPhys As Long
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type
Const OCTETVERSMO = &H100000
Private Sub Form_Load()
Dim lCompteur As Long
Dim MemStat As MEMORYSTATUS
Dim sFree() As String
Dim lMax As Long
Dim lInit As Long
Dim lQuantiteVoulue As Long
Dim lQuantite As Long
'On récupère la valeur de la mémoire initiale
GlobalMemoryStatus MemStat
lInit = Int(MemStat.dwAvailPhys / OCTETVERSMO)
'On demande la quantité à libérer
lQuantiteVoulue = InputBox("Quantité à libérer en Mo:", , 20)
lQuantite = lQuantiteVoulue
Do
'lMax est le nombre de fois que l'on va attribué un Mo de mémoire à sFree
lMax = Int(MemStat.dwAvailPhys / OCTETVERSMO) / 2 + lQuantite + 5
'On bouffe toute la mémoire
For lCompteur = 0 To lMax
ReDim Preserve sFree(lCompteur)
sFree(lCompteur) = String$(OCTETVERSMO, vbNullChar)
Next
'On rend la mémoire prise
ReDim sFree(0)
DoEvents
'On teste si il est encore possible de récupérer de la mémoire sinon on sort de la boucle
GlobalMemoryStatus MemStat
If lQuantiteVoulue - Int(MemStat.dwAvailPhys / OCTETVERSMO) + lInit > lQuantite And Int(MemStat.dwAvailPhys / OCTETVERSMO) > lInit Then
Exit Do
Else
lQuantite = lQuantiteVoulue - Int(MemStat.dwAvailPhys / OCTETVERSMO) + lInit
End If
'On boucle jusqu'à la libération de la mémoire voulue
Loop Until Int(MemStat.dwAvailPhys / OCTETVERSMO) >= lInit + lQuantiteVoulue
Erase sFree
MsgBox (Int(MemStat.dwAvailPhys / OCTETVERSMO) - lInit) & " Mo ont été libérés.", vbInformation
End Sub
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
liberer de la ram [ par hhhp2004 ]
hhhp2004salut,je viens de faire un prog qui montre la quantite de ram totale, utilise et disponible. il marche tres bien ....jai pas beaucoup de ram (
Vider la memoire RAM [ par norton ]
Hello, a tous je me demandais si c'étai possible de vider la mémore ram a un interval régulier en VB.si c'est possible comment faire.je suis pas expèr
Pas assez de memoire avec Anybutton [ par Asterix31400 ]
Bonjour tout le monde. J'ai un petit problème, j'ai réalisé un logiciel, il y a quelques années, et maintenant que je veux l'utiliser avec windows XP
Liberer memoire [ par loskiller62 ]
Lorsque j'excute certaines fonctions de mon programme, ou que je charge puis decharge (unload) un formulaire, la mémoire prise n'est pas rendue.Ex: Mo
tabstrip memoire [ par bobo91 ]
bonjour a tous ceux qui lirons ce message. bien je commence alors.comment faire pour garder des informations en cours sur la page d'un onglet.par exem
Réseau et vitesse [ par gronon2 ]
J'ai une application installé sur un poste Xce poste X fait parti d'un réseau ordinaire Microsoft ( 5 ordinateurs connectés)J'ai crée des raccourcis
Determination de la quantité de RAM [ par kulls ]
Bonjour a tous,Voila, j'ai une question que me travaille depuis plusieurs semaine et je n'arrive pas a la programmer (c'est peut et re un peu normal v
fenetre reste dans la memoire [ par ifaza ]
La fleur MarocaineAu secourssur un programme j'ai un formulaire que je l'utilise plusieurs fois en changeant des variables in
Probleme de creation de memoire [ par dragon_rouge ]
Je cherche a creer autant de memoire que je veut mais durant l'execution!En creation on peut creer autant de memoire que l'on veut (ex :Dim Memoire1 a
Memoire insuffisante au chargement d'un form access 2003 [ par aker01600 ]
Bonjour à tous, je me permet de vous solliciter car j'ai un soucis. Travaillant de puis peu sous access, on me sollicite déjà pour résoudre un problèm
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
LISTER KEYS.KEYLISTER KEYS.KEY par Onin42
Cliquez pour lire la suite par Onin42
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|