16G RAM과 23G 스왑(ZFS에 6개의 3TB 디스크)이 있는 시스템이 있고 현재 스왑 비율은 98%이지만 사용되는 RAM은 5G만 볼 수 있습니다.
누가 스왑 공간을 사용하고 있는지 알아보기 위해 가능한 모든 리소스를 확인했습니다.
ps -vax | awk 'NR==1{print} {VSZ+=$7;RSS+=$8}END{print VSZ,RSS}'
PID STAT TIME SL RE PAGEIN VSZ RSS LIM TSIZ %CPU %MEM COMMAND
6106336 894176
다양한 다른 도구(top -w ... sort SWAP)도 23G 스왑 공간이 사용된다는 것을 나타내지 않았습니다.
swapoff -a
실패하고 표시됩니다 cannot allocate memory
.
재부팅을 피하고 싶은데 (현재) 느린 컴퓨터를 복구하는 방법에 대한 팁이 있나요?
(프리나스 11.2 - 안정 FreeBSD)
답변1
FreeBSD 11.3 서버(32GB RAM, ZFS)에서 Atlassian Confluence를 실행할 때 이 문제가 발생했습니다. 범인은 충분한 RAM 사용이 허용되지 않았기 때문에 데이터 공간을 호출하는 JRE로 밝혀졌습니다. 이것은 매우 이상한 효과입니다. 할당된 메모리를 Java VM에 할당하자마자 페이징 아웃이 중지되고 모든 스왑 공간이 흡수됩니다. 또한 애플리케이션의 응답성이 향상됩니다.
pstat
Windows 및 Mac의 메모리 사용량 보고서 에 왜 표시되지 않는지 완전히 명확하지 않으며 top
시스템은 동시에 많은 여유 RAM을 보고합니다.
따라서 대규모 Java 애플리케이션을 실행하는 경우 필요한 리소스를 사용할 수 있도록 JVM을 올바르게 조정해야 합니다.