Bonjour a tous
Pour mon projet, j'ai besoin de specifier que mon process doit utiliser une quantité de RAM configurable. En gros, si je dis à mon process qu'il doit utiliser 100Mo de RAM, il doit pouvoir utiliser 100Mo de RAM.
J'ai donc deux questions :
1. Comment faire cela avec un malloc par exemple ?
voici une ebauche de code qui est sensé le faire ... mais le fait-il vraiment ?
Trouvez vous ce type de code correct pour mon besoin ?
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int RAM = 100; // RAM en Mo que le process doit utiliser unsigned long int RAMlong=(unsigned long int)RAM*1024*1000; unsigned long int *buff ; buff=(unsigned long int*)malloc(sizeof(unsigned long int)*RAMlong); if (buff==NULL){printf("Not enough memory\n");return 1;} else { for (j=0;j<10;j++){buff[j]=RAMlong;} }
Ma deuxieme question est :
2. Comment verifier qu'effectivement, 100Mo sont utilisées par mon process ? un top ? si oui, quelle colonne du top svp ? J'ai l'impression que %MEM ne donne pas ce que je souhaite ?
Exemple de top :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1452 fferreir 15 0 46980 2580 2192 S 94 0.1 0:19.80 C1C___00_014
MA CONF : Je suis sous Linux, RedHat 4, Bi processeur 64
Merci a tous pour vos conseils avisés !!
pepito
Partager