こんにちは。
現在、linuxOSでのc言語のプログラム上でmallocを多数個使って
2次元、3次元配列でメモリを確保しております。
しかし、入力ファイルの要素数が大きくなると、メモリが100%以上
になるため、配列それぞれがどれほど容量を食っているのか確認したい
と思っています。
そこで、(なるべく)プログラムのソースを変えることなく、
配列それぞれ
の容量をデバッグまたはプロファイリングする方法を
お教えいただければと思います。
どうぞよろしくお願いいたします。
//追記(具体的なプログラムと、具体的な知りたい結果 について)
コードは載せられないですが、大体、計算機1台で100GBを使って、
10台以上を使って並列計算するようなプログラムを、
職場の先輩から引継ぎました。
配列ひとつずつをmalloc_usable_size(hairetu)で確認するのは
面倒そうなので、おすすめの確認方法があればお教えください。
%最初にメモリ確保 int_a[*][*][*] int_b[*][*][*] int_c[*][*][*] int_d[*][*][*] ・・・intの3次元が10個ぐらい double_a[*][*] double_b[*][*] double_c[*][*] ・・・doubleの2次元が10個ぐらい %ループ計算 計算 %ループ終わり (ループ計算が数時間以上かかる)
この計算の実行最中や実行後に、
int_a ・・・ 10GB
int_b ・・・ 11GB
int_c ・・・ 12GB
double_a ・・・ 20GB
double_b ・・・ 21GB
double_c ・・・ 22GB
といったmallocの実際のメモリ量が知りたいと思います。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/08 04:29
2018/06/08 04:45