サスペンドが失敗することがある理由をどのように把握できますか?


17

時折、何かがサスペンドクラッシュを引き起こしています。クラッシュすると、システムは黒い画面でフリーズし、一時停止せずにオンのままになります。これにより、システムがシャットダウンするまで電源ボタンを押し続ける必要があります。

私がほとんどの人々と持っている設定の違いの1つは、ラップトップのふたが閉じられたときに中断できるオプションを使用しないことです。そのため、ラップトップのふたを開閉しても何も動作しません。手動でサスペンドを押すのが好きです。この設定の変更が原因でしょうか?

クラッシュにはエラーが表示されないため、クラッシュの原因を探すにはどうすればよいですか?

回答:


6

いいえ、「蓋を閉じたときにサスペンド」機能を無効にしても、手動サスペンドには影響しません。

あなたはの出力を見ることで開始するdmesgとの内容/var/log/kern.log/var/log/syslog手がかりのために。

これらを私たちと共有する場合、私たちは助けようとすることができます。方法については、この質問をご覧ください。

コマンドまたはテキストファイルの出力を他のユーザーと簡単に共有するにはどうすればよいですか?


17

あなたが言及した設定は、それと関係があるとは思いません。

/var/log/pm-suspend.logヒントがあるかどうかを確認してください。

これらの問題は通常、システムの一時停止を停止するプロセスが原因です。

行う

dmesg -T|grep Freez -A4

次のエントリを探します:

--
[sun mar  3 15:19:48 2013] Freezing user space processes ... 
[sun mar  3 15:20:08 2013] Freezing of tasks failed after 20.01 seconds (3 tasks refusing to freeze, wq_busy=0):
[sun mar  3 15:20:08 2013] mount.nfs       D e8631aa0     0  5518   5517 0x00800004
[sun mar  3 15:20:08 2013]  e8631b10 00000086 f7bc0e00 e8631aa0 c1053cb4 c1809020 c192ee00 c192ee00
--

タイムスタンプを確認して、報告された問題のうち、中断しようとしたことに関連する問題を確認します。この場合、それがmount.nfs問題の原因です。

ここで、スクリプトをに配置し/etc/pm/sleep.d/、そこにあるスクリプトが一時停止および再開時に実行されます。ファイル名は、ユーザースクリプトの場合は00〜49の順序番号で始まる必要があります(詳細については、を参照してくださいman pm-suspend)。

スクリプトは次のようになります

#!/bin/sh
(killall -9 mount.nfs; exit 0)

問題が発生した他のプロセスのエントリを対応させます

カッコとexit 0コツ:プロセスが見つからない場合、killall終了コード1で終了し、サスペンド全体がキャンセルされます。上記はkillall、0で終了するサブシェルで実行されます。

問題がある場合は、それをチェックし/var/log/pm-suspend.logて、スクリプトの中断と実行の試行を記録します。


また、別の行が必要でした:(killall -9 mount.nfs; exit 0)SIGUPのみで動作しない場合があるためです。
フアン14

@Juanin:-9より良いです、なぜ-1最初にしかなかったのか分かりません、今編集されています。
カール14

問題がライブネットワークマウントである時間の何パーセントか(ここに示すように)。それも私の問題でした-しかしそれはsshfs代わりでしたnfs
-nobar

フリーズを拒否するタスクが複数ある場合、このバグに関連している可能性があります。bugs.launchpad.net
ubuntu

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