後藤さんにアドバイスを頂いたので、紹介します。
「確保するサイズが大きい場合は、ページフォルトが問題になるので、
export MALLOC_TRIM_THRESHOLD_=-1
export MALLOC_MMAP_MAX_=0
と環境変数を設定すると良い。」
・MALLOC_TRIM_THRESHOLD_
は OS に未使用になったメモリを返却する契機をあらわしていて、-1 では決して返却しないことを表している。
・MALLOC_MMAP_MAX_
は最大 mmap 数をあらわし、0は決して mmap しない。1MB 以上のメモリ確保では、malloc は内部で mmap を呼び出しているようだが、どんなに大きなメモリでも brk を使ってメモリを取る。
こちらのブログを参考させていただきもらいました。
「確保するサイズが大きい場合は、ページフォルトが問題になるので、
export MALLOC_TRIM_THRESHOLD_=-1
export MALLOC_MMAP_MAX_=0
と環境変数を設定すると良い。」
・MALLOC_TRIM_THRESHOLD_
は OS に未使用になったメモリを返却する契機をあらわしていて、-1 では決して返却しないことを表している。
・MALLOC_MMAP_MAX_
は最大 mmap 数をあらわし、0は決して mmap しない。1MB 以上のメモリ確保では、malloc は内部で mmap を呼び出しているようだが、どんなに大きなメモリでも brk を使ってメモリを取る。
こちらのブログを参考させていただきもらいました。
※コメント投稿者のブログIDはブログ作成者のみに通知されます