お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2014-05-13 13:31:12

hitohiranohana
新しいメンバ
登録日: 2014-05-13

64bit版バージョン14.04のメモリ制限について

当方はデルのPrecisionT7500にメモリを48GB迄増設して、ubuntu14.04を利用しているものです。
HDDの容量は2TBで、その内14.04は997GBを使用しています。残りはubuntuの12.04です。

malloc関数で26GB程度の配列を確保したソースをgccでコンパイルしています。
リンク迄は通るのですが、実行時に強制終了してしまいます。

64bit版ubuntuが利用可能なメモリ容量の上限とは一体どの位なのでしょうか?
それとも、ハードウェアのせいなのでしょうか?

オフライン

 

#2 2014-05-14 18:58:48

aaabbbcccdddeeefffggghhh
メンバ
登録日: 2008-02-25

Re: 64bit版バージョン14.04のメモリ制限について

hitohiranohana による投稿:

リンク迄は通るのですが、実行時に強制終了してしまいます。

ulimit コマンドでスタックサイズを変更できるようです。
私の環境では、

main() {
char c[1024 * 1024 * 1024 * 5];
strcpy(c, "test");
puts(c);
}

というコードをコンパイルした後実行すると

Segmentation fault (コアダンプ)

となりますが、

ulimit -s 5242880

と実行した後だと正常に動作しました。

プログラムのスタックサイズを変更する
http://www.hiraku.ro/tdiary/?date=200812

hitohiranohana による投稿:

64bit版ubuntuが利用可能なメモリ容量の上限とは一体どの位なのでしょうか?

スタックサイズの確認も ulimit コマンドで出来るようです。

ulimit -a

と実行すると表示されます。

オフライン

 

#3 2014-05-14 23:52:02

aaabbbcccdddeeefffggghhh
メンバ
登録日: 2008-02-25

Re: 64bit版バージョン14.04のメモリ制限について

hitohiranohana による投稿:

malloc関数で

すみません、ここの部分を思いっきり見落としていました。
私の書き込みは無視してください。

オフライン

 

Board footer

Powered by FluxBB