私は約 1 週間 Web をサーフィンしてきましたが、「CentOS は RAM の使用方法を知っています。心配する必要はありません」ということだけを見つけましたが、これは問題だと思います。
1.5 GB RAM、1 プロセッサ/4 コア、および 700 MB SWAP を備えた CentOS 6.4 X86_64 final を最近/クリーン インストールした VM がありますが、問題はメモリ消費です。
postgresql、pgadmin3、JRE 7.25 (JDK や OpenJDK ではない)、netbeans 7.3.1、および apache をインストールしましたが、ほとんどの場合 (99%) NB と firefox を同時に開くだけで、明らかに httpd と pgsql サービスが必要です。
さて、netbeans を開くと 300Mb - 350MB、Firefox は 100MB - 150MB を使用し、システムが使用する初期メモリは約 250MB であるため、750MB とシステム モニターと空き -mコマンドはそれを確認しますが、数分以内にシステムがすべての空きメモリを消費し、100MB - 200MB SWAP を使い始めます。そして、それは本当に SssLOOOWWW になります..単純な PHP / JS / HTML Web サイトを開発しています。
システムがすべてのメモリとスワップを消費すると、free -mコマンドは次のように返します。
free -m
total used free shared buffers cached
Mem: 1511532 1477256 34276 0 18652 89325
-/+ b../c..: 1369279 142253
Swap: 711320 198652 512668
実際の空きメモリは約 140MB ですが、
- これは大量のメモリが使用され、システムが非常に遅くなります
- NB と FF を閉じると、解放された両方で使用されるメモリの半分 (250MB) しか得られません。
- SWAP は解放されません (再起動時のみ)
- FF と NB を再度開くと、250MB が再び消費され、さらに多くの SWAP が消費されます!!!
私はこれを試しました:
- Swappiness の値を 60 から 5 に変更しましたが、実際にはシステムは RAM の 95% が使用されるまでスワップを使用しません。
- Bluetooth mgr、メール、ログイン音、エネルギー mngr (デスクトップ PC です) など、起動時に不要なプログラムを無効にしました。
- JVM の最大ヒープ サイズを 256MB に設定し、実際には Java/NetBeans (仮想 + 共有) 間 = 実際に使用されるメモリが 400MB を超えることはありません
- サービスごとにチェックすると (複数の httpd および PGSql サブサービスを含む)、使用されるメモリは 750MB 以下です
- Win 7/WAMP でまったく同じ Web サイトをテストすると、Netbeans、PGAdmin3、Firefox、および posgres サービスによって使用されるメモリは、centOS (500MB) とシステムによって使用される初期メモリとほぼ同じであると言わざるを得ません。 (900MB) 合計使用メモリは 1400MB であり、変化しないため、プログラミング エラーではありません。
- 最後に、CentOS を再インストールしましたが、問題は解決しません