각각 크기가 약 500GB인 두 개의 큰 스왑 파일이 있고 한 프로그램은 총 1TB 스왑 공간 중 약 900GB를 사용합니다. 이 메모리 집약적인 프로그램은 완료하는 데 며칠이 걸립니다. 그런데 방금 스왑 파일 우선순위가 올바르지 않다는 것을 깨달았습니다. swapon
설명하다:
NAME TYPE SIZE USED PRIO
/dev/sda partition 465,8G 465,8G -1
/home/alex/swapfile file 502,9G 384,5G -2
/home/alex/swapfile
M.2 디스크의 속도는 3.5GB/s인 반면, /dev/sda
SATA 디스크의 속도는 540MB/s에 불과합니다. 그래서 나는 /home/alex/swapfile
우선 순위를 갖고 싶고 우선 순위를 갖고 -1
싶지만 장기 실행 프로세스를 중단하고 싶지는 않습니다. 스왑 파일을 먼저 비활성화하지 않고 스왑 파일 우선 순위를 변경할 수 있는 방법이 있습니까 ?/dev/sda
-2
swapoff
답변1
기존 스왑 파일을 사용하여 이 작업을 수행할 수 있는 방법은 없다고 생각합니다. 그러나 빠른 디스크에 0 또는 1의 더 높은 우선 순위로 다른 스왑 파일을 생성할 수 있습니다(/home/alex에 공간이 있다고 가정). 아직 ).
dd if=/dev/zero of=swapfile2 bs=1M count=$SIZE_IN_MEGS
.(BTW, 500GB 스왑 파일은 엄청납니다. )
그런 다음 첫 번째 /home/alex/swapfile을 바꿀 수 있지만 새 /home/alex/swapfile2와 동일한 디스크에 있으므로 의미가 없습니다. swapfile2까지(그리고 스왑 아웃이 아닌) 스왑 인(스왑 아웃 아님)에만 사용됩니다. /dev/sda)이 가득 찼습니다. /dev/sda를 교체할 수도 있지만 모두 다시 읽을 때까지 속도 저하가 발생합니다. 메모리가 부족하면 swapfile2로 다시 교체합니다.
낮은 메모리로 계속 실행하고 스왑 인 및 스왑 아웃에 걸리는 시간 동안 성능이 필요하지 않고 나중에 swapfile2에서 스왑을 사용하기 때문에 어느 시점에서 이 작업을 수행할 수 있는 경우 이 방법이 도움이 될 수 있습니다. 메모리가 반환되고 그 시점부터 더 빠르게 실행됩니다.
답변2
스왑 파일을 다시 만들 필요가 없습니다. 예를 들어 /etc/fstab에서 우선순위를 간단히 지정할 수 있습니다.
/mnt/ssd/swapfile 스왑 없음 sw,pri=5 0 0