echo mem > /sys/power/stateがsystemctl suspensionの代わりに良い選択ですか?

echo mem > /sys/power/stateがsystemctl suspensionの代わりに良い選択ですか?

5.7.0-arch1-1 (linux@archlinux)私は5.4ishカーネルから始まり、カーネルを使用してArchlinuxを実行していますが、systemdでラップトップを停止するのに約10秒かかります。次の質問は次のとおりですsystemctl suspend

  1. 今ネットワークマネージャを閉じてください。
  2. 約10秒間は何もしません。

その後、中断されますが、目が覚めると次のようになります。

  1. Network Manager は Wi-Fi ネットワークの検索と接続に時間がかかります。

解決策:

これにより、# echo mem > /sys/power/stateネットワーク管理者の問題なくすぐに中断されます。非常に迅速に動作します。


systemctl suspendところで、なぜこんなに時間がかかるのかわかりませんが、echo mem > /sys/power/stateまったく時間がかかりません。

私が読んでこれsystemctl suspendしかし、まだsystemdの代わりにechoコマンドを直接使用する効果についてはわかりません。


システムの詳細

cat /proc/version

Linux version 5.7.0-arch1-1 (linux@archlinux) (gcc version 10.1.0 (GCC), GNU ld (GNU Binutils) 2.34.0) #1 SMP PREEMPT Mon, 01 Jun 2020 22:54:03 +0000

free -h

              total        used        free      shared  buff/cache   available
Mem:          3.7Gi       1.4Gi       1.4Gi       274Mi       910Mi       1.8Gi
Swap:         4.0Gi          0B       4.0Gi

cat /proc/swaps

Filename                Type        Size    Used    Priority
/dev/zram0              partition   4194300 0       -2

システムを一時停止するためにechoコマンドを頻繁に実行するのは良い選択ですか?

答え1

最大の問題はデータ損失だと思います。最初に実行すると、syncディスクは残りのIO操作を実行する必要があり、データの損失は問題になりません。いくつかの混乱しているアプリケーションやコンピュータがスリープモードに入ったことを知らせるシステムサービスがあるかもしれませんが、あなたのコンピュータがサーバーでない限り、それを実行してsync修正することは想像できません。/sys/power/state奇妙に動作しても再起動しても問題にならないようです。しかし、私はいつも最初に走りますsync

関連情報