Linux

在 Linux 上,功能性交換分區的技術最小大小是多少

  • March 11, 2022

Linux 上功能性(包含一些頁面)交換分區或文件的技術最小大小是多少。如果它取決於架構,或者取決於物理記憶體的大小或其他東西,我將如何計算估計值?

我不是要為現代全尺寸系統提供建議或可行的尺寸。它到底能走多低,仍然可以用作交換

因此,由於標頭資訊和其他內容,交換文件會產生一些成本。

如果您嘗試使用太小的文件…在這種情況下為 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 的交換空間。

引用自:https://unix.stackexchange.com/questions/693953