Page 1 sur 1

Mais que renvoie la fonction MemoryStatus()?

Publié : dim. 09/oct./2016 11:24
par JohnJohnsonSHERMAN
Salut à tous !

J'ai remarqué que la fonction MemorySatus() ne renvoyait jamais les mêmes valeurs que le Gestionnaire des taches de Windows... Est-ce normal?

Voici le code de test :

Code : Tout sélectionner

Debug "La quantité totale de mémoire installée, en octets: " + MemoryStatus(#PB_System_TotalPhysical)
  Debug "La mémoire disponible, en octets: " + MemoryStatus(#PB_System_FreePhysical)
  Debug "La taille de page mémoire, en octets (généralement 4 Ko): " + MemoryStatus(#PB_System_PageSize)
  ;(Windows et Linux uniquement)
  Debug "La taille de la mémoire de swap total, en octets (Windows et Linux uniquement): " + MemoryStatus(#PB_System_TotalSwap)
  Debug "La taille de la mémoire de swap disponible, en octets (Windows et Linux uniquement): " + MemoryStatus(#PB_System_FreeSwap)
  ;(Windows uniquement)
  Debug "La taille de la mémoire virtuelle totale, en octets (Windows uniquement): " + MemoryStatus(#PB_System_TotalVirtual)
  Debug "La taille de la mémoire virtuelle disponible, en octets (Windows uniquement): " + MemoryStatus(#PB_System_FreeVirtual)
Le Debug a écrit :La quantité totale de mémoire installée, en octets: 7436759040
La mémoire disponible, en octets: 4536205312
La taille de page mémoire, en octets (généralement 4 Ko): 4096
La taille de la mémoire de swap total, en octets (Windows et Linux uniquement): 8778936320
La taille de la mémoire de swap disponible, en octets (Windows et Linux uniquement): 5234675712
La taille de la mémoire virtuelle totale, en octets (Windows uniquement): 140737488224256
La taille de la mémoire virtuelle disponible, en octets (Windows uniquement): 140737401659392
J'ai 8 Go de RAM et.... bref une capture d'écran du Gestionnaire et du Debug en plein désaccord parle d'elle-même :
https://www.dropbox.com/s/ibunq6mj01ku5 ... e.PNG?dl=0


Alors? C'est normal ou pas? Dans ce cas à quoi correspondent les valeurs que donne MemoryStatus?

Re: Mais que renvoie la fonction MemoryStatus()?

Publié : dim. 09/oct./2016 13:40
par Fig
(pour rappel, 1Go = 1024 Mo, 1Mo = 1024 Ko, 1Ko = 1024 octets...)

Ta mémoire totale disponible n'est pas la même chose que la quantité de mémoire installée !!
Windows utilise de la mémoire pour lui-même qui ne sera jamais disponible: matériel réservé 1,1Go.

Donc, ta mémoire totale disponible est de: 7436759040:1024 :1024 :1024 = 6,926 Go.
Sur ton graphique on a: 6,9Go... Donc c'est une réponse correcte. (6.9+1.1= 8 Go )

Pour la mémoire disponible:
4536205312:1024 :1024 :1024 = 4,22467... Go (4,3Go indiqué, donc c'est correcte aussi, sans trop pinailler sur l'arrondi...)

Et caetera...


Il faut juste s'entendre sur les termes et ne pas oublier que c'est un facteur 1024 et non 1000 entre les unités... (contrairement aux unités de stockage de masse qui utilisent un rapport -faux- de 1000, il me semble)

Re: Mais que renvoie la fonction MemoryStatus()?

Publié : dim. 09/oct./2016 14:31
par Ar-S
Une petite clarification entre Mo et Mio ^^
http://www.tomshardware.fr/articles/2to ... 575-2.html

Sinon les valeurs en Go sont ok :

Code : Tout sélectionner

Debug "La quantité totale de mémoire installée : " + StrF(MemoryStatus(#PB_System_TotalPhysical)/1024/1024/1024,2) + " Go"
  Debug "La mémoire disponible : " + StrF(MemoryStatus(#PB_System_FreePhysical)/1024/1024/1024,2) + " Go"
Etc

Re: Mais que renvoie la fonction MemoryStatus()?

Publié : dim. 09/oct./2016 14:48
par JohnJohnsonSHERMAN
Ah mais oui, c'est vrai qu'il y a un facteur 1024... Evidemment comme ca c'est clair. Merci :P