2017-03-29 9 views
0

私は8GBのRAMを備えたマシン上で64ビットのUbuntu 12.04を実行しています。私はgccに-m64(強制的に64ビットの実行可能ファイル)フラグを付けてコンパイルしたC++プログラムを書きました。結果の実行可能ファイルが64ビットであることを確認しました。プロセスで4GB以上のRAMを使用できるようにする

ただし、プロセスの上限は4GB RAMです。どうすればそれをもっと使うことができますか?

編集:ulimit -a

ulimit -a 
core file size   (blocks, -c) 0 

data seg size   (kbytes, -d) unlimited 

scheduling priority    (-e) 0 

file size    (blocks, -f) unlimited 

pending signals     (-i) 62900 

max locked memory  (kbytes, -l) 64 

max memory size   (kbytes, -m) unlimited 

open files      (-n) 1024 

pipe size   (512 bytes, -p) 8 

POSIX message queues  (bytes, -q) 819200 

real-time priority    (-r) 0 

stack size    (kbytes, -s) 8192 

cpu time    (seconds, -t) unlimited 

max user processes    (-u) 62900 

virtual memory   (kbytes, -v) unlimited 

file locks      (-x) unlimited 

の出力編集2:DSTAT -cdgms --vmの出力へのリンク

https://www.dropbox.com/s/927s5x6v4bhp4qs/dstat_log.xlsx?dl=0

+0

'ulimit'と' setrlimit'を参照してください。 –

+0

どのように測定しますか? –

+0

システムモニタ – andreifin

答えて

0
として最高の私が言うことができるように

、-m64コンパイルを追加します私の最初の問題(アプリがクラッシュする)を実際に解決したフラグは、アプリが実際には4GBを超えるメモリ(32ビットの実行ファイルの制限)を必要としていたため、4GBのフラットシステムモnitor。貢献したすべての人に感謝します。コメントには、同様の問題を診断しようとする人々に役立ついくつかのことがあります。

関連する問題