Ubuntu 20.04 LTS에서 대기모드(hibernate) 금지하기.
Ubuntu 20.04 LTS 에 GPU 서버 구성후에, 일정 시간 지나면 서버가 대기상태로 들어가는 현상이 발생했다. 이 현상은 Ubuntu 18.04에서는 없었던 현상이다.
먼저, 아래처럼 동면(?)상태로 들어가는 서비스를 확인 해 본다.
mlearn@mlearn6:~$ sudo systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target [sudo] password for mlearn: sleep.target - Sleep Loaded: loaded (/lib/systemd/system/sleep.target; static; vendor preset: enabled) Active: inactive (dead) since Thu 2021-12-23 08:21:42 UTC; 1min 41s ago Docs: man:systemd.special(7) Dec 23 07:30:04 mlearn6 systemd[1]: Reached target Sleep. Dec 23 08:21:42 mlearn6 systemd[1]: Stopped target Sleep. suspend.target - Suspend Loaded: loaded (/lib/systemd/system/suspend.target; static; vendor preset: enabled) Active: inactive (dead) Docs: man:systemd.special(7) Dec 23 06:39:33 mlearn6 systemd[1]: Reached target Suspend. Dec 23 06:39:33 mlearn6 systemd[1]: Stopped target Suspend. Dec 23 07:09:35 mlearn6 systemd[1]: Reached target Suspend. Dec 23 07:09:35 mlearn6 systemd[1]: Stopped target Suspend. Dec 23 08:21:42 mlearn6 systemd[1]: Reached target Suspend. Dec 23 08:21:42 mlearn6 systemd[1]: Stopped target Suspend. hibernate.target - Hibernate Loaded: loaded (/lib/systemd/system/hibernate.target; static; vendor preset: enabled) Active: inactive (dead) Docs: man:systemd.special(7) hybrid-sleep.target - Hybrid Suspend+Hibernate Loaded: loaded (/lib/systemd/system/hybrid-sleep.target; static; vendor preset: enabled) Active: inactive (dead) Docs: man:systemd.special(7)
위의 서비스를 mask 한다. 서비스를 disable하는 경우는 심볼릭 링크를 삭제하는것이지만 mask는 서비스를 /dev/null로 심볼릭 링크를 만드는 차이가 있는데, disable 한 경우는 서비스를 시작할 수 있으나, 해당 서비스를 실행할 수 없게 된다.
서버로 사용하므로 서버가 동면에 이르는 것을 방지해야 하므로 mask 옵션을 사용한다.
mlearn@mlearn6:~$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target Created symlink /etc/systemd/system/sleep.target -> /dev/null. Created symlink /etc/systemd/system/suspend.target -> /dev/null. Created symlink /etc/systemd/system/hibernate.target -> /dev/null. Created symlink /etc/systemd/system/hybrid-sleep.target -> /dev/null. mlearn@mlearn6:~$
서버를 재부팅 한다.
mlearn@mlearn6:~$ sudo reboot
재부팅후 위의 서비스를 확인해 보면 아래처럼 mask된 것을 볼 수 있다.
mlearn@mlearn6:~$ sudo systemctl status sleep.target susspend.target hibernate.target hybrid-sleep.target [sudo] password for mlearn: Unit susspend.target could not be found. sleep.target Loaded: masked (Reason: Unit sleep.target is masked.) Active: inactive (dead) hibernate.target Loaded: masked (Reason: Unit hibernate.target is masked.) Active: inactive (dead) hybrid-sleep.target Loaded: masked (Reason: Unit hybrid-sleep.target is masked.) Active: inactive (dead)
이제, 일정 시간이 지나도 대기모드로 들어가지 않는다.
참고문서: