kswapdが使用される原因となっているプロセスを確認するにはどうすればよいですか?


23

100%CPUを使用するkswapdが表示されます... kswapdが非常に使用されているプロセスを代理して確認するにはどうすればよいですか?


1
うん kswapdはプロセスです。カーネルの代わりに実行されます。
mailq


2
@mailq ...はい、しかし、ユーザー空間のメモリを交換していませんか?もしそうなら、どのプロセスのメモリがその瞬間にスワップされているかをどのように見分けるのですか?
デショーン

回答:


18

kswapdは、すべてのプロセスで物理的に利用できるよりも大きいメモリ要求に応じて、スワップスペースを管理しています。

これはプロセスに依存せず、どのページがいつアクセスされるかだけに関心があります(もちろんこれよりも複雑ですが、物事を単純にするために、このように表示することもできます)。

したがって、本当の問題は、「kswapdが常にページングを必要とする原因となっているメモリに最も大きな負荷があるプロセス」です。

これは、「top」を使用してメモリ使用ソートモードに切り替えると最も簡単に答えられます。


ありがとう!。実際のページが物理的に超えた場合、またはプロセスがメモリを割り当てた、またはSHM領域をマップしたがそれを使用しなかった場合でも、skeswapdはキックされますか?つまり、問題が発生したときだけか、何らかのプロセスがアイドル状態になったという理由だけで、物理メモリが使用可能であっても、ブックキーピングを行って物事をやり取りしますか?
デショーン

私が理解しているように、kswapdは通常の状況下では、メインメモリからそこにある必要のないページを削除します。つまり、別のプロセスからのメモリの要求に応じてページを移動する際の速度の低下を招くよりも、古い未使用のページを既にディスク上に置いておいた方がよいでしょう。
ポール

マシンが大量のスワップスペースを使用する必要がある場合でも、100%のCPUを使用する必要はありません。何かがおかしい。
ザズ

@Zazスワップを実行するためにCPU処理能力を使用しているのはそれほど多くはありません。IOWAITによりCPUが100%使用されています。メモリをディスクからスワップインする必要があるたびに、CPUはそこに座ってそれを待つ必要があります-IOWAITで、(平均して)何もしていません。
ポール

@ポール:よろしいですか?topIO待機に時間は費やされておらず、システムにほぼ100%の時間が費やされていることを教えてくれます。さらに詳しい情報:スワップが使用されているときにkswapdは、多くの場合、100%のCPUを使用しています
ZAZ

9

スクリプトを作成することもできますが、topを使用して実行することもできます。

ラントップはその後、プレスOが続いたp、その後入力します

これで、すべてのプロセスがスワップ使用量でソートされ、どのプロセスがそれを使用しているかを確認できます


2
Oは私が「フィルタの区切り文字が欠落している『を含む』」与えpはEnterキーを押し、私のためにフィルタオプションが表示されます
シャドウ

代替コマンドここでは、同じ問題を@Shadow unix.stackexchange.com/questions/128953/...
ビョルン

8

Ubuntu 15.10以降を使用している場合、これは実際にはバグの結果である可能性があります。特に、システムがスワップパーティションのない仮想マシン(AWS EC2など)である場合は特にそうです。この問題は他のディストリビューションにも存在しますが、執筆時点では、同じ修正が普遍的に機能するかどうかは不明です。

一時的な回避策:

sudo ln -s /dev/null /etc/udev/rules.d/40-vm-hotadd.rules
sudo reboot

これにより、XenおよびHyper-V仮想マシンのホットアドRAM / CPUが無効になることに注意してください。


Kubuntu 16.10上の私のシステムで、これがどこからともなく出てきた場合、回避策はすでに有効になっています。
jeteon

@jeteonこの動作を引き起こす可能性のある問題は複数あります。これはたまたま特に一般的なものです。
ゼネクサー

うん。私はecho 3 > /proc/sys/vm/drop_cachesそれが起こったらそれを軽減することがわかりました。私は今、cronジョブのコマンドを先制的に持っていますが、それは助けになるか、少なくともコンピューターから離れているときのOOM大虐殺の期間を制限するようです。
jeteon

6

また、kswapdどこかにバグがあるようです。できれば古いカーネルでのみです。

ほぼ毎日、kswapdは、より大きなクラスター(ただし、現在のカーネルではない)の一部のマシンでランダムに動作します。両方のkswapdプロセスで100%CPU。他の実行中のプロセス(sshシェルを除く)、十分な空きRAM(700 MB以上)、SWAPはまったく使用されていません。スワップインもスワップアウトもありません。

特定のマシンがヒットし、別のマシンがヒットしない理由はまだ説明されていません。通常、短い時間内に複数のマシンにヒットするため、完全にランダムではないようです。アイドル状態のマシン、および高圧下にあるマシンは、効果による影響を受けにくいようです。そのため、作業負荷で何かをする必要があり、マシンがアイドル状態でもビジーでもない場合にのみヒットします。

問題が何も起こらなければ、もう役に立ちません。すべてのプロセスを殺し(殺せなくなることはありませんでした)、すべてのファイルシステムをアンマウントします。kswapd100%CPUのままです。SMPカーネルでのスピンロックレースが疑われますが、間違っている可能性もあります。

おそらく私の答えをご覧くださいserverfault.com/questions/316995/#493257

ノート:

  • シャットダウンプロセスがどこかでハングし始めるため、影響を受けるマシンの再起動はしばしば失敗します。
  • インターネットへの直接接続はありません。外国の原因はありそうもない。
  • まだ影響を受けていないマシンがあるため、負荷の観点からマシンが処理するワークロードのタイプに依存するようです。
  • 申し訳ありませんが、私たちが何をするのか、そしてその理由をもっと詳しく述べることはできません。
  • はい、推測しています。今日、それは非常に不可解な効果だからです。

これは歴史的です。RedHatの確認:NFSクライアントと組み合わせたカーネル2.6.18-194.el5の問題でした。2012年に既に修正されています。もう少し情報が必要な場合は、本文のリンクされた回答をご覧ください。今日これをヒットした場合、他の原因である可能性があります。
ティノ

1
これはまだいくつかの場所で問題です。私はこれらのポップアップのトンを見ました。here、およびhereはいくつかの例です。
-trueCamelType
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.