메모리가 큰 기기에서는 스왑을 영구 삭제해도 안전한가요?

메모리가 큰 기기에서는 스왑을 영구 삭제해도 안전한가요?

128G 메모리를 갖춘 데스크탑 컴퓨터가 있습니다. 계산 집약적인 스크립트를 실행하지 않을 때의 일반적인 메모리 사용량은 다음과 같습니다.

sam@debian:~$ free -ht --si
               total        used        free      shared  buff/cache   available
Mem:            128G        3.3G         93G        101M         31G        124G
Swap:           975M          0B        975M
Total:          129G        3.3G         94G

시뮬레이션을 실행해도 메모리 사용량이 75%를 넘지 않습니다. 그래서 swap처음부터 1G 파티션이 필요한지 의문이 들었습니다. 설치했을 때 Debian내장 Use entire disk and set up encrypted LVM옵션을 사용했는데 자동으로 이었습니다 swap. 안전하게 제거하고 debian--vg-root공간을 차지하려면 어떻게 해야 합니까? 아래는 내 파티션 레이아웃입니다.

sam@debian:~$ lsblk -a
NAME                MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0                 7:0    0     0B  0 loop  
loop1                 7:1    0     0B  0 loop  
loop2                 7:2    0     0B  0 loop  
loop3                 7:3    0     0B  0 loop  
loop4                 7:4    0     0B  0 loop  
loop5                 7:5    0     0B  0 loop  
loop6                 7:6    0     0B  0 loop  
loop7                 7:7    0     0B  0 loop  
nvme0n1             259:0    0 931.5G  0 disk  
├─nvme0n1p1         259:1    0   512M  0 part  /boot/efi
├─nvme0n1p2         259:2    0   488M  0 part  /boot
└─nvme0n1p3         259:3    0 930.5G  0 part  
  └─nvme0n1p3_crypt 254:0    0 930.5G  0 crypt 
    ├─debian--vg-root   254:1    0 929.5G  0 lvm   /
    └─debian--vg-swap_1 254:2    0   976M  0 lvm   [SWAP]

답변1

네, 교체하지 않고도 안전하게 작동합니다. 그러나 이것은 잘못된 질문입니다. 스스로에게 물어봐야 할 질문은 다음과 같습니다.

  1. 내 시뮬레이션이 ~128GB 이상의 RAM을 사용할 가능성은 얼마나 됩니까?

    대답이 "전혀 그렇지 않다", "가능성이 매우 낮다" 또는 이와 유사한 경우에는 교체할 필요가 없습니다. 심들이 사용 가능한 RAM의 75% 이상을 사용한 적이 없다고 하셨으니 그게 답일 수도 있습니다.

    참고: 많은 양의 RAM(예: Firefox 또는 Chrome)이 필요한 다른 응용 프로그램을 실행하는 동시에 시뮬레이션을 실행하는 경우 이 점을 고려하십시오. 예를 들어 30GB가 부족한 경우(예: 수백 개의 창과 탭이 열려 있을 가능성은 거의 없으며 시뮬레이션이 실행되는 동안 종료하고 싶지 않은 경우 사용 가능한 스왑을 통해 커널이 이를 교체하고 시뮬레이션을 위한 RAM을 확보할 수 있습니다.

    예를 들어, 내 64GB 시스템에서 Firefox는 현재 21GB의 RAM을 사용하고 Chromium은 추가로 8.5GB를 사용하며 Steam은 백그라운드에서 유휴 상태로 약 3GB를 사용합니다. 게다가 총 2GB 정도의 스왑 공간을 사용했습니다. 최근에 메모리를 많이 차지하는 다른 프로그램을 실행했다면 그 사용량이 교체되었을 것입니다. 하지만 그렇게 하지 않았으며 여전히 약 20GB의 여유 공간이 남아 있습니다.

    총 90GB의 사용 가능한 스왑 공간이 있고 현재 약 6.5GB(Firefox 및 chromium에서 사용되는 2GB 포함)를 사용하고 있습니다. 이는 필요한 프로그램을 위한 6.5GB의 여유/미사용 추가 메모리입니다. 내 스왑 공간은 NVME 드라이브에 있는 두 개의 4GB 파티션, NVME zfs 풀에 있는 또 다른 16GB ZVOL(8GB 스왑이 충분하지 않아 추가됨), HDD zpool에 있는 64GB ZVOL(16TB 중 64GB가 사용되기 때문에 추가됨)로 구성됩니다. 이 풀에서는 무시할 수 있습니다). 스왑 우선순위는 파티션을 먼저 사용하고 그 다음 NVME ZVOL, 마지막으로 HDD ZVOL을 사용하도록 설정됩니다. 그런데, NVME 풀에 스왑용으로 16GB ZVOL만 있는 이유는 풀이 424GB에 불과하기 때문입니다. 하지만 1TB 이상이면 모든 ZVOL 스왑 공간, 아마도 128GB를 그 위에 배치할 것입니다. NVME 드라이브를 업그레이드할 때까지 기다릴 수 있습니다.

  2. 더 많은 메모리를 사용하는 경우 다음 질문은 "RAM이 부족할 때 충돌이 발생하기를 원하는가, 아니면 계속 실행되지만 느리게 실행되기를 원하는가?"입니다.

    충돌을 일으키고 싶다면 굳이 교체하지 마세요.

    메모리 부족 오류로 인해 충돌이 발생하지 않도록 하려면 실제 RAM을 초과할 수 있는 양을 추정하고 해당 양의 스왑 공간을 추가하세요.

  3. 고려해야 할 또 다른 사항은 "스왑에 사용되는 디스크 공간의 실제 가치는 얼마입니까?"입니다. 최소 1TB 또는 2TB의 디스크 공간을 갖춘 최신 시스템에서는 1페니도 안 되는 아주 작은 공간입니다. 이것을 메모리 부족 오류로 인해 SIM 카드가 충돌하여 다시 실행해야 하는 비용(시간, 돈 또는 성가심)과 비교해 보십시오. 교환은 유용하며, 교환이 필요하지만 필요하지 않은 것보다 교환이 있으면서도 필요하지 않은 것이 더 좋습니다.

관련 정보