「スタック」(「トップ」の結果)と「応答なし」(アクティビティモニター)、「スピン」、または「ハング」との関係


17

topコマンドの結果では、時々スタックします。

Appleのtop(1)OS Xマニュアルページでは、この言葉の使用について説明していません。

それがすべてである場合、どのように立ち往生は以下に関連していますか?

  1. 応答しない -アクティビティモニター、loginwindowのForce Quit Applicationsダイアログなどに表示される場合があります
  2. .hang ファイル–に存在する可能性があります /Library/Logs/DiagnosticReports
  3. .spin ファイル–に存在する可能性があります /Library/Logs/DiagnosticReports

最初の点については、受け入れられた答えがあります。ポイント2および3に関連する回答を歓迎します。

回答:


15

通常、停止したプロセスtopと応答しないアプリケーションの間に相関関係はありません。

  • スタックとは、プロセスが現在中断できないことを意味します。通常、プロセスがディスクまたはネットワークデータブロック(または同様の低レベルのもの)の読み取りを待機している場合です。技術的に言えば、プロセスはカーネル空間(別名Unixカーネル)で実行されており、中断することはできません(したがってkill -9、影響はありません)。通常、これらのスタック状態は数ミリ秒しか続きません(スタックプロセスtopの数は表示サイクルごとに変化するため、同様に確認できます)。
  • 応答しないアプリケーションは、OS Xがスローするイベントに応答するには忙しすぎる可能性があります。

私は1つの状況を参照スタックプロセスをすることができます応答しないアプリケーションにプロセス対応して立ち往生し、おそらくそれを殺すためにあらゆる可能性なしに、延々と立ち往生、非常に長い時間のために。これは通常、プログラミングエラーの結果です。たとえば、ネットワークデバイスからの切断が不適切な場合、カーネルはデバイスからの読み取りを試行し続けます。このような場合、強制終了してもプロセスは削除されません。


ありがとう- スタックuninterruptibleと同義である場合、私はその状態に精通しています。コマンドラインから実行中にuninterruptibleControl-T(SIGINFO)をキー入力するとよく見られfsck_hfsます。もっと上のSIGINFOAppleのではtermios(4)OS Xマニュアルページ
グラハムペリン

この答えに関連して、Stack Overflowの質問に興味があるかもしれませんプログラムで応答しないプロセスを識別する方法
グラハムペリン

2
私はtopのソースコードを見ました:uninterruptibleはスタックと同じです。
nohillside

ガッチャ- ハイライトからlibtop.cのMac OS X 10.7.4用のオープンソースインチ
グラハムペリン

1

プロセス状態U、TH_STATE_UNINTERRUPTIBLEおよびLinuxプロセス状態D

他の誰かがMacOSのトップに注目しました。「スタック」とは「中断できない」ことを意味します。ネルソンログ

…  TH_STATE_UNINTERRUPTIBLEpsプロセス状態「U」として報告するものだと思います。これは、Linuxが「デバイス待機」の「D」と呼ぶものだと推測しています。その場合、ほとんどの場合、プロセスは正常で、一部のI / Oが完了するのを待っています。…

psUbuntuのマニュアルページでは、プロセスの状態コードを確認しています–

D    Uninterruptible sleep (usually IO)

割り込み不可については他に言及していませ

FreeBSD / Linux Linuxカーネルのクロスリファレンス:

2002年のディスカッションThe Answer Gang 83:Uninterruptible Sleep Stateでプロセスを強制終了する方法を見つけましたハイライト)@patrixによって行われた観測にうまく適合します。

最後になりましたが、2004年の投稿[X-Unix] PSおよびStuck Processesハイライト)では、関連の質問にぴったりのWindowServerについて言及しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.