64ビットLinuxシステム(RHEL5.5)でアプリケーションを実行しています(64ビットマシンでコンパイル)。このアプリケーションは、40〜50分後にクラッシュしています。32ビットマシンで同じコードを実行していたときに、これが完全に正常に動作していたのを見て驚いています。私のアプリケーションが64ビット用にコンパイルされて以来、segfaultを取得するのはなぜですか?
問題のあるシステムの空きメモリがわずか50 MBであることがわかりました。私は低メモリのためクラッシュしていると想定しました。しかし、そのシステムには約5 GBのキャッシュメモリがあります。このキャッシュメモリは私のメモリ要求のすべてに利用できるはずです。私はこの前提で正しいか、この問題を解決するためにしばらくしてからこのキャッシュを解放します。 カーネル:MyApplicationName [20655]:私のアプリケーションがクラッシュしたときのシステムログイン
私はメッセージを次見たセグメンテーション違反を0000000030363938 RIP 0000000000b35c7eのRSP 00000000f322a3a0エラーで4
誰もが問題がここにいることができるものを指すことができますか?このエラー4は、システム内のエラーを意味します。
#define EINTR 4 /* Interrupted system call */
しかし、あなたの問題は、メモリに、またはまったくこのエラー4に関連していないようです:
RAMをアイドル状態にしておくことのポイントは何ですか?アプリケーションがそれを必要とするまで、それをキャッシュとして使うこともできます... –