우리의 컴퓨터는 그 어느 때보다 많은 메모리를 가지고 있습니다. 이 글을 읽고 있는 시점에 상관없이 이것이 사실일 가능성이 높습니다. 하지만 아무리 많은 메모리를 가지고 있어도 결코 충분하지 않은 것 같습니다.
컴퓨터나 서버에 필요한 모든 RAM을 가득 채울 수 있으며 항상 사용할 수 있는 것을 찾을 수 있습니다. 대부분의 경우 이것은 좋은 일입니다. 결국, 당신이 그것을 사용하지 않는다면 그 모든 RAM의 요점은 무엇입니까? 반면에 제한이 있는 경우 메모리 부족이 문제가 될 수 있습니다.
메모리 사용량이 확실합니까?
메모리 확보를 시작하기 전에 실제로 메모리를 사용하고 있는지 확인해야 합니다. Linux에서 메모리를 처리하는 방식 때문에 무언가가 사용 가능한 메모리를 모두 사용하는 것처럼 보일 수 있습니다.
Linux Ate My RAM이 설명하는 것처럼 top
메모리가 부족하다는 명령이 의미하는 바가 아닐 수도 있습니다. 기본적으로 Linux는 디스크 캐싱을 위해 사용하지 않는 메모리를 따로 남겨두므로 실제로 컴퓨터 속도를 높이는 데 도움이 됩니다.
하지만 실제로는 실제보다 더 많은 RAM을 사용하는 문제가 있는 서비스나 응용 프로그램이 있을 수 있습니다.
메모리 사용량 진단
기억력을 진단하려면 몇 가지 다른 명령을 사용해야 합니다. top
이 명령은 RAM을 너무 많이 차지할 수 있는 모든 응용 프로그램을 확인하는 데 유용합니다. 상단에 표시되는 PhysMem 통계에만 의존하지 마십시오.
free
를 사용할 수 있습니다. 및 ps
RAM 문제를 진단하는 데 도움이 되는 명령도 있습니다. free
를 사용하려면 , 다음을 실행하기만 하면 됩니다.
free -m
"총" 및 "사용된" 수치가 비슷하다는 것을 알 수 있습니다. 위에서 언급했듯이 이것은 Linux의 정상적인 동작이므로 이에 대해 걱정하지 마십시오. 주의해야 할 가장 중요한 것은 "버퍼/캐시됨" 행의 "사용됨" 섹션입니다. 애플리케이션과 서비스가 실제로 사용하는 섹션이기 때문입니다.
ps
를 사용할 수 있습니다. top
과 유사 어떤 응용 프로그램이 가장 많은 메모리를 사용하고 있는지 확인합니다. 이렇게 하려면 다음을 실행하기만 하면 됩니다.
ps aux
그러면 가장 많은 메모리를 사용하는 앱과 해당 프로세스 ID가 표시됩니다.
높은 메모리 사용량 해결
Linux에서 높은 메모리 사용량과 관련하여 몇 가지 일반적인 원인이 있습니다. 주요 범죄자 중 하나는 Java입니다. 공식 Java 런타임 환경을 사용하든 GNU에서 제공하는 대안을 사용하든 문제가 발생할 수 있습니다. 서버에서 이 문제가 발생하는 경우 JBoss 또는 Tomcat이 원인일 수 있습니다. 다음과 같은 위치에서 구성 파일을 찾을 수 있습니다.
/usr/local/jboss/bin/run.conf /usr/local/tomcat/bin/setenv.sh
다른 범인은 Apache 또는 MySQL일 수 있습니다. 정확히 구성하는 방법을 보여주는 것은 이 기사의 범위를 벗어나지만 이러한 서비스의 오류 또는 경고에 대한 로그 파일을 확인할 수 있습니다.
결론
성능 향상을 찾거나 문제를 해결하려는 경우 메모리가 항상 원인은 아닐 수 있습니다. 찾고 있는 항목에 따라 다르지만 솔루션은 컴퓨터의 다른 부분에 완전히 있을 수 있습니다. 이 점을 명심하십시오.
어떤 문제가 있더라도 걱정하지 마세요. 저희가 도와드릴 수 있습니다. 데스크탑, 랩탑 또는 서버가 느리게 실행되는 경우 원인을 찾기 위한 가이드를 살펴보십시오. 문제가 해결되지 않더라도 어디서부터 시작해야 하는지 찾는 데 도움이 될 것입니다.