lxde
これはDebianベースのディストリビューションを実行し、pcmanfm
ファイルマネージャとして使用される古いコンピュータです。pcmanfm
コピーを除いて、通常はうまく機能します。非常に大容量ファイル(例:*.VOB
圧縮されていないDVDのファイル)まあ、実際には私はそれが私の能力を使うと思いました。交換(3.5GBに設定)残念ながら、スワップは常に薬を示しています。12MB。
これもこうだpcmanfm
無視するファイルを交換しますか?残念ながら、このマシンのRAMモジュールの1つにエラーがあり、それを取り除く必要がありました。したがって、現在の物理RAMは1GBしか残っていません。 :(. しかし、スワップの問題が正しく解決された場合、問題はありません!
次の例syslog
:
[40398.719466] Out of memory: Kill process 21573 (compiz) score 2 or sacrifice child
代わりに、次回何が得られるかに応じて(通常などcompiz
)、カーネルによって最も多くのリソースが必要なプロセスが偶然終了します。dbus
pcmanfmにスワップスペースを使用するように「通知する」方法はありますか?
ベストアンサー1
より一般的な質問にお答えします。
スワップスペースを使用するようにプロセスに「通知する」方法はありますか?
Linuxカーネルは以下を提供します。/プロセス/システムインターフェイスメモリページ(匿名のみ)がディスクにどれだけ積極的にスワップされるかを定義する属性。
これ仮想マシンの切り替え可能性属性はシステムごとにグローバルに適用されますが、プロセスごとには適用されません。この値を設定低い可能な限り交換を避けたい場合。システムプロセスが長時間休止状態になっている場合は、この値を増やすことで積極的なスワッピング動作によって利点を得ることができます。このグローバルプロパティはツールとして利用可能で、ツール/proc/sys/vm/swappiness
でsysctl
調整できます。
カーネル2.6.24の導入により、cgroups
さらに細分化することができます。 メモリサブシステム利用可能なcgroup階層があると仮定メモリサブシステム(/cgroups/mem
)とcgroup(/cgroups/mem/your_cgroup
)が接続され、ジョブ/プロセス()が定義されます/cgroups/mem/your_cgroup/tasks
。それでは変えることができます。交換性このワークセットは次のように動作します。
cd /cgroups/mem/your_cgroup
echo 90 > memory.swappiness
このcgroupにプロセスを自動的に割り当てるにはどうすればよいですか?/etc/cgrules.conf
ファイルに簡単なルールを作成します。
your_user:pcmanfm memory /your_cgroup
cgred
その後、このファイルは自動プロセス分類のためにcgroupルールエンジンデーモン(サービス)によって使用されます。
詳細については、以下を確認してください。Linuxカーネルcgroupドキュメント。