스왑 파일을 사용하여 Fedora 27 시스템을 일시적으로 최대 절전 모드로 전환하려고 했지만 실패했습니다. 다음 질문에 대한 대답은 또한 시스템을 최대 절전 모드로 전환하려면 전용 스왑 파티션을 사용해야 하며 스왑 파일이 작동하지 않음을 나타냅니다.
Linux가 파일 대신 스왑 파티션을 사용하는 이유는 무엇입니까?
저는 스왑 파일을 생성한 ext3 파일 시스템을 사용하고 있습니다. 최대 절전 모드에 사용되는 것을 방지하는 것은 무엇입니까?
답변1
이렇게 하면 됩니다. 제가 큰 문서를 작성했습니다.이 SO 답변에서uswsusp
, 전 세계적으로 initramfs 및 Grub을 올바르게 사용하고 구성하면 작동합니다.
답변2
말한 바와 같이여기(링크 제공: @don_crissti) 시스템은 스왑 파일의 헤더를 찾아야 하는데 이를 위해서는 스왑 파일이 포함된 파일 시스템을 마운트해야 하며, 저널링 파일 시스템(예: ext3)은 마운트할 수 없습니다. 디스크에서 복구.
문서에서 인용 :
swsusp에서 스왑 파일을 사용하려면 다음이 필요합니다.
1) 스왑 파일을 생성하고 활성화합니다.
# dd if=/dev/zero of=<swap_file_path> bs=1024 count=<swap_file_size_in_k>
# mkswap <swap_file_path>
# swapon <swap_file_path>
2) 응용 프로그램을 사용하여 FIBMAP ioctl을 사용하여 스왑 파일을 bmap하고 파일 스왑 헤더의 위치, 즉
<PAGE_SIZE>
스왑 파일이 보관된 파티션 시작 부분의 오프셋 단위를 결정합니다.3) 커널 명령줄에 다음 매개변수를 추가합니다.
resume=<swap_file_partition> resume_offset=<swap_file_offset>
<swap_file_partition>
는 스왑 파일이 있는 파티션이고 는 2<swap_file_offset>
의 응용 프로그램에 의해 결정된 스왑 헤더의 오프셋입니다. (물론 이 단계는 다음을 사용하여 스왑 파일 헤더의 오프셋을 결정한 동일한 응용 프로그램에 의해 자동으로 수행될 수 있습니다. FIBMAP 읽기-쓰기 제어)또는
Documentation/power/userland-swsusp.txt에 설명된 SNAPSHOT_SET_SWAP_AREA ioctl의 도움으로 파티션과 오프셋을 설정하는 userland를 사용하여 애플리케이션을 일시 중지합니다. 이는 initrd 또는 initramfs 이미지에서 허용하여 스왑 파일을 일시 중지하는 유일한 방법입니다. ).