Linux에서 기능적 스왑 파티션의 기술적인 최소 크기는 얼마입니까?

Linux에서 기능적 스왑 파티션의 기술적인 최소 크기는 얼마입니까?

Linux에서 기능적(일부 페이지 저장) 스왑 파티션 또는 파일의 기술적인 최소 크기는 얼마입니까? 아키텍처에 따라 다르거나 실제 메모리 크기 등에 따라 달라지는 경우 추정치를 어떻게 계산합니까?

나는 현대적인 풀사이즈 시스템에 대한 조언이나 실현 가능한 치수를 요구하는 것이 아닙니다. 가격이 얼마나 낮아지더라도 여전히 거래소로 기능할 수 있나요?

답변1

따라서 헤더 정보 및 기타 항목으로 인해 파일을 교환하는 데 약간의 오버헤드가 있습니다.

너무 작은 파일을 사용하려고 하면...이 경우 1바이트

# dd if=/dev/zero of=tst1 bs=1c count=1
1+0 records in
1+0 records out
1 byte (1 B) copied, 0.000141358 s, 7.1 kB/s
# ls -l tst1
-rw-r--r-- 1 root root 1 Mar 10 22:19 tst1
# mkswap tst1
mkswap: error: swap area needs to be at least 40 KiB

따라서 최소 40k가 필요합니다(적어도 x86_64의 RedHat 7에서는).

# dd if=/dev/zero of=tst1 bs=1c count=40960
40960+0 records in
40960+0 records out
40960 bytes (41 kB) copied, 0.183741 s, 223 kB/s
# mkswap tst1                              
Setting up swapspace version 1, size = 36 KiB
no label, UUID=4d559295-45c6-4952-8c14-f8eb55f3c201
# swapon tst1
swapon: /home/sweh/tst1: insecure permissions 0644, 0600 suggested.
# cat /proc/swaps 
Filename                                Type            Size    Used    Priority
/home/sweh/tst1                         file            36      0       -2

이는 36K의 스왑 공간을 제공합니다.

답변2

다음을 입력하여 시스템의 페이지 크기를 얻을 수 있습니다.

getconf PAGE_SIZE

내 시스템은 현재 페이지 크기인 4kB로 4096을 반환합니다. 이는 최소 페이지 크기이기도 하며 일부 시스템에서는 페이지가 훨씬 더 클 수 있습니다. 바라보다이 답변자세한 내용은.

즉, 최소 기능 크기를 추정하려면 스왑 공간의 크기가 작을수록(사용 중인 경우) 페이지 폴트가 더 많이 발생하여 컴퓨터 성능이 점점 더 저하된다는 점을 고려해야 합니다. 메모리에서 페이지를 검색하는 데 시간이 소요됩니다.

관련 정보