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
네, 교체하지 않고도 안전하게 작동합니다. 그러나 이것은 잘못된 질문입니다. 스스로에게 물어봐야 할 질문은 다음과 같습니다.
내 시뮬레이션이 ~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 드라이브를 업그레이드할 때까지 기다릴 수 있습니다.
더 많은 메모리를 사용하는 경우 다음 질문은 "RAM이 부족할 때 충돌이 발생하기를 원하는가, 아니면 계속 실행되지만 느리게 실행되기를 원하는가?"입니다.
충돌을 일으키고 싶다면 굳이 교체하지 마세요.
메모리 부족 오류로 인해 충돌이 발생하지 않도록 하려면 실제 RAM을 초과할 수 있는 양을 추정하고 해당 양의 스왑 공간을 추가하세요.
고려해야 할 또 다른 사항은 "스왑에 사용되는 디스크 공간의 실제 가치는 얼마입니까?"입니다. 최소 1TB 또는 2TB의 디스크 공간을 갖춘 최신 시스템에서는 1페니도 안 되는 아주 작은 공간입니다. 이것을 메모리 부족 오류로 인해 SIM 카드가 충돌하여 다시 실행해야 하는 비용(시간, 돈 또는 성가심)과 비교해 보십시오. 교환은 유용하며, 교환이 필요하지만 필요하지 않은 것보다 교환이 있으면서도 필요하지 않은 것이 더 좋습니다.