私のアプリ起動時にmallocでいくらかの領域を割り当てています。私がこの変数に値を設定しないと、このアプリケーションで使用している私のメモリの0%が表示されますが、この変数に値を設定すると、この配列に値を設定する方法でramの使用量が増加します。C malloc、ポピュレート時のメモリ使用量
私の質問は、このスペースが私のアプリの使用済みスペースとしてmallocによって割り当てられていることを示すべきではありません。この変数を設定したときにアプリからRAM使用量が増加するのはなぜですか?
私はUbuntu 10.10 64bitです。
char pack(uint64_t list, char bits, uint64_t *list_compressed, char control, uint64_t *index){
uint64_t a, rest;
if(control == 0){
a = list;
}
else{
rest = list >> (64 - control);
a = (control == 64 ? list_compressed[*index] : list_compressed[*index] + (list << control));
if(control + bits >= 64){
control = control - 64;
//list_compressed[*index] = a;
(*index)++;
a = rest;
}
}
//list_compressed[*index] = a;
control = control + bits;
return control;
}
"malloqued"変数はlist_compressedです。
私がlist_compressed populationのコメントを外すと、ramの使用率が増えます。コメントをつけておくと、使用率は0%になります。
http://en.wikipedia.org/wiki/Virtual_memory –