Mais que renvoie la fonction MemoryStatus()?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Mais que renvoie la fonction MemoryStatus()?

Message 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?
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: Mais que renvoie la fonction MemoryStatus()?

Message 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)
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Mais que renvoie la fonction MemoryStatus()?

Message 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
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: Mais que renvoie la fonction MemoryStatus()?

Message par JohnJohnsonSHERMAN »

Ah mais oui, c'est vrai qu'il y a un facteur 1024... Evidemment comme ca c'est clair. Merci :P
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Répondre