Se connecter

Informatique

Programmation

Sujet : Connaître la RAM de la machine en C++
1
TechnoForce3
Niveau 36
15 septembre 2019 à 08:53:08

Bonjour, existe-t-il un moyen de connaître la RAM de la machine sur laquelle tourne un exécutable en C++ ? Je souhaiterais m'en servir pour détecter quand les données que je dois gérer sont trop importantes pour pouvoir être stocké dans la RAM et utiliser des fichiers pour sauvegarder des résultats dans ce cas. A l'heure actuelle, j'ai des bad alloc dans ce cas.

Merci d'avance.

tsez93
Niveau 10
15 septembre 2019 à 09:25:46

API Windows ?

Imthefear
Niveau 7
15 septembre 2019 à 13:38:57

Jette un œil ici
http://msdn.microsoft.com/en-us/library/cc300158(v=VS.85).aspx
:ok:

TechnoForce3
Niveau 36
15 septembre 2019 à 13:40:43

J'ai oublié de préciser je suis sur Linux même si il faudrait que j'arrive aussi à gérer le cas Windows.

AtmelAVR
Niveau 4
15 septembre 2019 à 13:47:58

Le 15 septembre 2019 à 13:40:43 TechnoForce3 a écrit :
J'ai oublié de préciser je suis sur Linux même si il faudrait que j'arrive aussi à gérer le cas Windows.

Sur Linux tu peux lire /proc/meminfo ou utiliser sysinfo(2) https://linux.die.net/man/2/sysinfo

godrik
Niveau 22
15 septembre 2019 à 16:39:41

En general, les gens n'aiment pas utiliser sysinfo pour connaitre le montant de RAM disponible. Ca peut changer d'un moment a l'autre, et je ne pense pas que ca peut te dire le montant de RAM disponible dans ton cgroup. En pratique les gens passent une option ax programmes pour dire combien de memoire ne pas depasser. C'est beaucoup plus simple pour administrerune machine de passer un parametre plutot que de laisser l'application faire un genre d'allocation dynamique foireux.

TechnoForce3
Niveau 36
15 septembre 2019 à 17:44:22

Ah oui pas bête du tout. Merci pour l'astuce :ok:

ReggaeDog
Niveau 10
18 septembre 2019 à 17:02:03

Je fait un tableau avec une taille dynamique. T'incrémente ça taille jusqu'a ce que ton programme crash :ok:
T'aura une idée de la RAM dispo :hap:

1
Sujet : Connaître la RAM de la machine en C++
   Retour haut de page
Consulter la version web de cette page