며칠 동안 기억은 90 %까지 올라간 다음 거기에 머물러 있습니다. 그게 메모리 누출인가요? 캐시 된 메모리를 사용하는 프로세스를 검색하는 방법은 무엇입니까?


3

필자는 사용자 정의 웹 OS가있는 NAS를 가지고 있으며, Mobotix IP 카메라를 보완하는 시스템을 함께 구성하는 수많은 데몬을 실행합니다.

최근 몇 주 동안, 저는 약간의 문제가 있습니다. 내장 된 리소스 모니터는 하루에 약 10 %의 메모리 사용량 증가를 보여줍니다. 90 %에 도달하면 +/- 1 % 범위 내에 있습니다.

나는 또한 내가 부르는, 최적화 된 메모리를 계산하고있다. 즉, 제거 된 버퍼와 추가 된 캐시는 매일 ~ 20 % 정도를 유지합니다.

출력 free 지금과 같은:

             total       used       free     shared    buffers     cached  
Mem:       1901072    1731036     170036          0     146228    1207360  
-/+ buffers/cache:     377448    1523624  
Swap:      1048572       1648    1046924  

보시다시피, 메모리는 거의 꽉 차 있지만 캐시 / 버퍼링은 대부분의 메모리를 차지하는 것처럼 보입니다.

나는 이것이 어딘가에 메모리 누수로 인해 발생했다는 느낌을 가지고 있지만 확실하지 않습니다.

어떤 프로세스가 버퍼링 / 캐시 된 메모리를 채우고 있는지 어떻게 탐지합니까?


왜 어쨌든 메모리는 무료가되고 싶습니까? 당신이 "지금 내가 자유로 워서 나중에 사용할 수 있기를 바란다"고 생각한다면, 잊어 버리십시오. 지금 사용할 수 있습니다. 나중에 사용하십시오. 저기있다. 아니 절충안은 여기에서 만들어야한다. 사용 가능한 메모리는 컴퓨터에없는 메모리보다 낫지 않습니다. 되고있는 메모리 만 익숙한 성능에 영향을줍니다.
David Schwartz

나는 그것이 자유롭거나 충분히 사용되었거나 어떤 것이 든 상관 없다, 나는 이것이 무엇을 일으키는 지 불확실했다. 그리고 내가 잠재적 인 문제를 해결하기위한 경계에 있어야하는지의 여부.
joltmode

답변:


5

이것은 문제가되지 않습니다. 리눅스는 그렇게하기로되어 있습니다. 정말로 메모리 문제가 있다면, 모든 것이 천천히 돌아가고 프로세스가 OOM 킬러 .

Linux 커널은 디스크 캐싱에 사용되지 않는 RAM을 이용합니다. 이것은 좋은 일이며 모든 것이 더 빨리 돌아갑니다. 이 메모리는 필요한 프로그램에서 계속 사용할 수 있으며 다른 곳에서는 필요하지 않은 경우에만 캐싱에 사용됩니다. 그 이유는 freebuffers/cache 별도로 사용 가능한 메모리로 간주해야합니다.

시스템에서 사용할 수있는 실제 메모리 양은 다음과 같습니다. free + buffers + cache, 게시 한 예에서 170036 + 146228 + 1207360 = 15236241.5G의 여유 메모리입니다.

이것은 매우 잘 설명되어 있습니다. RedHat 문서 :

이 예제에서 사용 가능한 총 메모리 양은 4040360KB입니다.   264,224 KB는 프로세스에서 사용하고 3776136 KB는 다른 프로세스에서 사용 가능합니다.   응용 프로그램. 첫 번째 줄에 혼란스러워하지 마십시오.   28160KB는 무료입니다! 사용량 수치를 보면 알 수 있습니다.   대부분의 메모리 사용은 버퍼 및 캐시 용입니다. Linux는 항상 시도합니다.   사용 가능한 메모리를 사용하여 디스크 작업 속도를 높이려면 RAM을 사용하십시오.   버퍼 (파일 시스템 메타 데이터) 및 캐시 (실제 내용이있는 페이지   파일 또는 블록 장치). 이렇게하면 시스템이 더 빨리 실행됩니다.   디스크 정보가 이미 I / O를 저장하는 메모리에 있기 때문에   작업. 프로그램이나 응용 프로그램에서 공간이 필요한 경우   오라클, 그럼 리눅스는 메모리를 양보하는 버퍼와 캐시를 무료로 것입니다   응용 프로그램 용. 시스템이 잠시 동안 실행되는 경우 일반적으로   첫 번째 줄의 "무료"필드 아래의 작은 숫자를보십시오.

자세한 내용은 여기를 참조하십시오 :


Linux Ate My Ram에 또 다른 장점이 있습니다. 설명 주셔서 감사합니다. 지금은 분명합니다.
joltmode
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.