Linux matrix 5.15.2-xanmod1-1 #1 SMP Wed, 17 Nov 2021 02:36:25 +0000 x86_64 GNU/Linux
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 btrfs swap 477dd81e-6a88-4987-b830-47bea1ec1f5d 0 87% /swap
└─sda2 btrfs root 2067df62-8ff6-4b52-9814-e4d5d8cf1577 55.3G 48% /
zram0 [SWAP]
total used free shared buff/cache available
Mem: 1.8Gi 1.2Gi 111Mi 56Mi 557Mi 446Mi
Swap: 5.5Gi 1.6Gi 3.9Gi
vm.swappiness = 10
したがって、私の問題は、システムに負荷がかかる場合、つまりFirefoxで開いたタブが多すぎるか、vscodeとFirefoxを同時に実行すると、システムが非常に遅くなることです。
ところでRAMの使用量を確認してみると、75%にとどまり、それ以上に上がりません。したがって、未使用のRAMの25%があります。
交換する前により多くのメモリを使用させるにはどうすればよいですか?
答え1
まず、速度の低下が完全なためであると仮定しますRAM
が、これは必ずしも根本的な原因ではありません。理論的には、数が多い、またはI/O
CPUが多すぎると予想するなど、速度低下を引き起こす可能性がある他の原因とボトルネックが必要です。processes
原因がメモリであると判断する前に、まず他の原因を除外する必要があります。次のコマンドを使用できますvmstat
。
$ vmstat -w 1
procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu--------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 120951240 9412 8313416 0 0 0 2 0 0 0 0 100 0 0
0 0 0 120951248 9412 8313416 0 0 0 0 143 210 0 0 100 0 0
0 0 0 120950980 9412 8313416 0 0 0 20 116 238 0 0 100 0 0
0 0 0 120950980 9412 8313416 0 0 0 0 180 315 0 0 100 0 0
0 0 0 120951232 9412 8313416 0 0 0 0 145 285 0 0 100 0 0
()または()セクションの下に比較的高い数字が表示されている場合は、swap
システムがメモリページを交換していることを示します。値が低いと、速度が遅くなる理由が異なる可能性があります。 、または)。si
swap in
so
swap out
RAM
swap
procs
io
cpu
swap in/out
に高い値があると仮定すると、vmstat
ボトルネックが実際にRAM
満たされていることを示します。
swappiness
からの説明ですLinuxカーネルドキュメント:
交換性
このコントロールは、カーネルがメモリページをどれだけ積極的に交換するかを定義します。値が高いほど攻撃性が増加し、値が低いほど交換量が減少します。値が 0 の場合、使用可能なページおよびファイル・サポート・ページの数が、その領域の最高水位表示よりも小さくなるまでスワップを開始しないようにカーネルに指示します。
デフォルトは60です。
まず、swappiness
値(10
)がデフォルト値(60
)よりはるかに低いことに注意してください。
firefox
タブがたくさんあるとしましょう。ほとんどはアイドル状態で、あまり使用されていません。低い場合、swappiness
マシンはできるだけ多くのデータをRAMに保持しようとし、RAMが出るまで交換を避けます。本物新しいページのためにいくつかのメモリを空にする必要があります。これは、システムが必要な場合にのみスワップを開始し、遅すぎるため、前のメモリページがスワップされるまで若干の遅延が発生することを意味します。
この値がswappiness
高い場合、システムは以前のメモリページと利用可能なメモリページをより頻繁に早期に交換し、新しいページでより多くのメモリを使用できるようにします。このタブに再びアクセスすると、ディスクからRAMにメモリがページングされるため、速度が遅くなる可能性がありますが、これらのタブを頻繁に使用しないため、スワップ状態に保ち、新しいプロセスのために保存することで、より多くの空きメモリを確保することをお勧めします。ページ。
swappiness
メモリが制限に達したときだけでなく、古くて未使用のメモリページをより頻繁に交換するようにページ数を増やすことをお勧めします。