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 명령을 직접 사용하는 효과에 대해 확신할 수 없으며, 솔직히 말해서 나중에 이 작업을 수행하면(기록되지 않은 데이터가 IO 장치에 플러시되는 경우) 데이터가 손실될까 조금 걱정됩니다 .


시스템 세부정보

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.

관련 정보