내 서버의 메모리 소비가 지난 몇 시간 동안 지속적으로 증가하기 시작한 이유를 알아내려고 노력 중입니다. 응용 프로그램 수준에서 원인을 찾으려고 노력했지만 성공하지 못했습니다. 그렇기 때문에 가능한 서버 원인을 조사해야 할 때입니다. 저는 서버 관리 전문가가 아니므로 도움을 주시면 대단히 감사하겠습니다. 첫째, 일반 메모리를 소모했고, 이제 스왑 소비도 증가하고 있습니다.
내 서버는 커널 3.10.0-514.26.2.el7.x86_64가 설치된 CentOS 7에서 실행 중입니다.
해결책
마지막으로 이 문제는 최근 업데이트된 서버 라이브러리로 인해 발생한 것으로 확인되었습니다. 허용된 대답은 메모리 사용량으로 인해 스트레스를 받을 때 문제가 발생하기 전에 시스템에서 발생한 변경 사항을 추적하는 것이 가능하다는 점을 상기시켜 주는 좋은 것입니다.
몇 가지 팁을 찾아봤는데 매우 유용했습니다.모든 메모리를 차지하는 프로세스를 찾는 방법은 무엇입니까?
이 상황에서 도움이 될 수 있는 사용했던 명령을 아래에 나열했습니다.
ps auwx --rss 정렬- 메모리 사용량에 따라 정렬된 프로세스
ps -fu 사용자 이름- 사용자가 처리함
맨 위사용/분석에 따르면 제 경우에는 크론 실행 프로세스를 사용하는 정지된 애플리케이션이 많이 있었습니다. 상관 관계가 필요하기 때문에 PID와 PPID를 출력하도록 htop을 구성했습니다.PPID도착하다/var/로그/크론녹음 과정.
자유-m
total used free shared buff/cache available
Mem: 7565 6525 440 47 599 657
Swap: 8191 2612 5579
고양이/proc/meminfo
MemTotal: 7747260 kB
MemFree: 253960 kB
MemAvailable: 498904 kB
Buffers: 6160 kB
Cached: 189076 kB
SwapCached: 467788 kB
Active: 5572588 kB
Inactive: 1258540 kB
Active(anon): 5498664 kB
Inactive(anon): 1185908 kB
Active(file): 73924 kB
Inactive(file): 72632 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 8388604 kB
SwapFree: 5686452 kB
Dirty: 104 kB
Writeback: 0 kB
AnonPages: 6168400 kB
Mapped: 68668 kB
Shmem: 48676 kB
Slab: 456672 kB
SReclaimable: 389064 kB
SUnreclaim: 67608 kB
KernelStack: 7232 kB
PageTables: 106848 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 12262232 kB
Committed_AS: 10244216 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 26276 kB
VmallocChunk: 34359705340 kB
HardwareCorrupted: 0 kB
AnonHugePages: 5191680 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 83968 kB
DirectMap2M: 8300544 kB
서버 실행 방식이나 메모리 사용량 구성에 문제가 있는지 어떻게 계속 확인할 수 있나요?
답변1
일반적으로 메모리 누수가 발생하는지 확인하려면 시간이 지남에 따라 정보를 수집해야 합니다.
간단한 목표 질문은 다음과 같습니다.
1) 최근 시스템에 어떤 변화가 있었나요?
2) 무엇이 업데이트됐나요?
3) 이러한 변경 사항을 메모리 누수와 연결하는 정보가 있습니까?
그 후에는 시스템에서 사용 가능한 프로그램을 사용할 수 있습니다. Cent 시스템은 없지만 프로세스를 실행하여 메모리를 얼마나 사용하는지 보여주는 시스템 모니터 앱이 있어야 합니다. 명령줄에서도 동일한 작업을 사용할
수 있습니다 . top
두 경우 모두 이를 모니터링하고 무엇이 증가하는지 파악해야 합니다.
서버이고 이를 모니터링하는 Nagios와 같은 장치가 있는 경우 다양한 시스템 응용 프로그램에 대한 메모리 모니터를 설정하고 응용 프로그램의 메모리 사용량을 매핑하도록 할 수 있습니다.
이것은 모두 매우 일반적이지만 몇 가지 방향을 제시합니다.
표시