Linux, SSD 및 스왑

Linux, SSD 및 스왑

이것이 기사에서는 마모를 줄이기 위해 SSD 드라이브에 스왑 공간을 만들지 않을 것을 권장합니다. 반면에 추천한다.여기이 스왑 공간은 성능에 긍정적인 영향을 미칠 수 있습니다.

교환을 포기하는 것이 더 나은 선택입니까? 아니면 일부 교환적 조정을 통해 우리가 케이크를 먹고 먹을 수도 있습니다. 장치는 Asus T200TA이고 확인된 유일한 드라이브는 32GB eMMC(HDD 착탈식)이며 RAM은 2GB만 있습니다.

답변1

Linux는 지난 몇 년 동안 zRAM 기능을 얻었습니다. 스왑 공간, 즉 비활성 메모리 내용 압축에 사용할 수 있는 압축된 램디스크입니다. Gentoo Wiki 항목에서는 약 3:1의 압축 비율을 달성할 수 있다고 주장합니다.

이는 이상적인 RAM이 아닌 데스크탑에 대해 고려할 가치가 있는 것으로 들립니다(4GB는 대부분의 최신 데스크탑 환경에 이상적입니다). Microsoft는 Windows 8(때로는 Windows Phone, zRAM을 사용하는 일부 Android 휴대폰)에서도 동일한 작업을 시작했습니다.

zRAM에는 일부 수동 구성이 필요하지만 적어도 Ubuntu의 경우 자동으로 설정할 수 있는 패키지가 있습니다. 더 낮은 우선순위로 일반 스왑을 실행하려는 경우(그리고 이것이 작동합니까?!) 조사를 수행해야 할 수도 있습니다. 패키지 zram-config는 우분투 저장소에서 사용할 수 있습니다. 분명히 Fedora 21은 RAM이 2GB 이하인 경우 자동으로 zRAM을 활성화합니다.

답변2

성능이 좋다면(응용 프로그램 간을 전환하는 동안 기다릴 필요가 없고, 디스크가 스래싱되고 활동 LED가 항상 켜져 있는 경우) 많은 마모에 대해 걱정할 필요가 없습니다.

설치 중 스왑을 위해 2G 공간을 할당한 후 그놈 디스크 등을 사용하여 파티션/스왑 크기를 줄일 수 있습니다. 개인적으로 저는 512M이나 1G를 먼저 시도해 보고 싶습니다. 나는 당신이 최대 절전 모드(일반적으로 2G+ 교환이 필요함)를 고려하고 있지 않다고 가정합니다.

그런 다음 사용 중인 스왑 공간의 양과 메모리 부족 또는 전체 스왑 속도 저하가 발생하는지 확인할 수 있습니다. 나는 스래싱 스와핑(너무 많은 스와핑으로 인해 활성화된 너무 많은 활성 앱)과 캐싱(비활성 앱 메모리를 가져오기에 충분한 스와핑이 아님)을 구별하는 방법을 잘 모르겠습니다. 두 경우 모두 디스크 표시등이 켜지고 교체가 상당히 완료된 것을 볼 수 있습니다. 문제 사례를 안정적으로 테스트할 수 있다면 vmstat 1열 교환을 관찰할 수도 있습니다.

eMMC에서 2GB 스왑을 하는 것은 조심스럽습니다(고가의 SSD보다 성능이 낮습니다). Linux 데스크탑 메모리 관리는 다소 불규칙한 기록을 가지고 있으며 스와핑은 eMMC용으로 설계되지 않았습니다.

모든 스왑을 사용하면 시스템을 사실상 사용할 수 없게 될 수 있습니다. 컴퓨터를 복구하기 위해 재부팅할 필요가 없으므로 메모리 부족이 더 나을 수도 있습니다. 비록 당신이 원하고 살아남기를 기대하는 프로그램을 죽일 수도 있습니다.

내 GNOME 셸과 일부 응용 프로그램에는 약 1G의 "사용"(스왑 가능)과 1G+ "캐시"(읽기 전용 데이터/코드, 파일 시스템에서만 다시 읽을 수 있음)가 있습니다.

1G를 스왑에 넣으면 eMMC를 고려할 때 모두 다시 스왑하는 데 얼마나 걸리나요? (GNOME 디스크는 파티션을 벤치마킹할 수 있습니다 :). 예를 들어 읽는 데 10초? 그런 다음 이전 작업 설정을 동시에 바꾸면 eMMC에서 (느린) 쓰기 시간이 더 오래 걸립니다. 나에게는 좋지 않은 것 같습니다.

스왑을 수행하는 작은 이유는 tmpfs입니다. 나는 /run약 1MB를 축적했고 모든 것이 메모리에 있어야 한다고 생각합니다.

답변3

나는 귀찮게 하지 않고 2GB 스왑 파티션을 계속 사용할 것입니다.
항상 약간의 스왑 공간이 있어야 하며, 특히 "단지" 2GB RAM이 있어야 합니다. 이는 2GB 스왑 공간이 있는 한 Linux 및 LXDE 또는 Xfce와 같은 경량 DE에 충분합니다(또는 브라우저를 사용하지 않는 경우에는 사용하지 마십시오). 많은 메모리를 소비하는 작업이나 작업을 컴파일하지 마십시오!).

관련 정보