Linux(3.4) SSD 스왑 파티션 사용으로 인해 극심한 대기 시간이 발생합니다. 이를 제거하는 방법은 무엇입니까?

Linux(3.4) SSD 스왑 파티션 사용으로 인해 극심한 대기 시간이 발생합니다. 이를 제거하는 방법은 무엇입니까?

6G 스왑 파티션이 추가된 4G RAM에서 실행 중인데 SSD는 꽤 좋은 SAMSUNG MZMPA128HMFU 모델입니다. 데이터가 RAM에 남아 있는 동안 시스템은 작업 부하에 매우 잘 반응하지만, 데이터가 의미 있는 양만큼 스왑 파티션에 도달하면(1GB 이상의 스왑이 사용된다고 가정) 스왑 중에 응답성이 완전히 떨어집니다. SSD 표시등은 분명히 많은 데이터가 들어오고 나가는 동안 몇 초 동안 켜져 있으며 이 시간 동안 다른 모든 IO는 차단됩니다. 몇 초 만에 시스템 로드가 0.8에서 10으로 점프했다가 IO가 다시 시작되면서 다시 떨어지는 것을 보았습니다. 스왑이 활발하게 사용 중일 때(많은 큰 앱이 열려 있음) 가동 시간이 증가함에 따라 이러한 역겨운 스왑 이벤트가 점점 더 자주 발생합니다(현재 26일).

Latencytop을 보고 있지만 계속 진행해야 할 내용이 많지 않습니다.

현재로서는 swapoff -a를 수행할 수 있을 만큼 충분한 애플리케이션을 중지하고 스왑 사용을 중지하는 것 외에는 다른 해결책이 없는 것 같습니다. 이것이 내 사용 패턴에 어떤 영향을 미치는지 잘 모르겠지만 정기적으로 실행하는 응용 프로그램 집합에는 이 정도이면 충분할 것이라고 거의 확신합니다.

vm.swappiness를 1로 낮추면 도움이 되지 않습니다. 적어도 그 자체로는 그렇지 않습니다.

이건 다들 아는 사실인가요? 가상 메모리를 사용할 때 데스크탑 응답성을 높이려면 어떤 옵션이 있어야 합니까?

답변1

메모리를 교체하지 않도록 더 많은 메모리를 설치하는 것이 좋습니다. 교체하면 Linux 또는 UNIX(tm) 시스템의 성능이 저하됩니다. 따라서 교체를 중단할 수 있도록 충분한 메모리를 설치하십시오!

답변2

워크로드에 6GB 이상의 활성 RAM이 필요한 경우 스왑 시 더 빠르게 실행되도록 아무것도 조정할 수 없습니다.

일부 가벼운 스왑 사용이 반드시 문제가 되는 것은 아닙니다. 3GB 노트북을 약 30일 동안 실행하고 600MB의 스왑을 사용했지만(SSD가 아닌 회전하는 HDD에서) 비활성 페이지만 점유하므로 잘 실행됩니다. 교체되므로 페이지를 다시 교체할 필요가 거의 없습니다.

시스템에 RAM을 추가할 수 없는 경우 차선책은 어떤 프로세스가 너무 많은 RAM을 사용하고 있는지 확인하고 해당 프로세스를 제거하거나 RAM 사용량을 줄이기 위한 조치를 취할 수 있는지 확인하는 것입니다. "top" 명령이 유용합니다. "M" 명령을 사용하여 메모리 사용량별로 정렬하면 됩니다.

관련 정보