공유 메모리 사용량이 계속 증가하고 있습니다.

공유 메모리 사용량이 계속 증가하고 있습니다.

저는 커널 5.4.0-70-generic과 함께 Ubuntu 20.04.2 LTS를 사용하고 있습니다. 공유 메모리는 남은 메모리가 없어 시스템이 중단될 때까지 계속 쌓입니다.

저는 Prometheus + Grafana를 사용하여 시스템 리소스를 모니터링하고 있는데 그래프에서 볼 수 있듯이 재부팅 후 공유 메모리가 20GB에 도달할 때까지 약 4~7일이 소요됩니다. 하지만 거기서 멈추지 않고 다시 재부팅할 때까지 계속해서 증가합니다. Grafana의 스크린샷

free -h명령에서 동일한 양의 공유 메모리 사용량을 볼 수 있습니다.free -h의 스크린샷

tmpfs의 사용량이 낮은 것 같습니다. df -h grep tmpfs의 스크린샷 |

모든 응용 프로그램을 닫고 컴퓨터를 사용하지 않아도 공유 메모리가 계속 증가합니다. 이 행동의 이유는 무엇입니까? 이 문제에 대한 조사를 시작하려면 어떻게 해야 합니까? 어떤 프로세스가 너무 많은 공유 메모리를 사용하고 있는지 어떻게 알 수 있나요?

$ ipcs -m --human

------ Shared Memory Segments --------
key        shmid      owner      perms      size       nattch     status      
0x00000000 3145729    martsraits 600          256M     2          dest         
0x00000000 2588677    martsraits 600          512K     2          dest         
0x00000000 1245191    martsraits 600          512K     2          dest         
0x00000000 5832713    martsraits 600          512K     2          dest         
0x00000000 10         martsraits 600          512K     2          dest         
0x00000000 1212427    martsraits 600          512K     2          dest         
0x00000000 12         martsraits 600          512K     2          dest         
0x00000000 1212429    martsraits 600           64M     2          dest         
0x00000000 32785      martsraits 600          512K     2          dest         
0x00000000 2064402    martsraits 600          512K     2          dest         
0x00000000 5537814    martsraits 600          512K     2          dest         
0x00000000 1114138    martsraits 600          512K     2          dest         
0x00000000 8945695    martsraits 600         23,3K     2          dest         
0x00000000 1507360    martsraits 600          512K     2          dest         
0x00000000 2916388    martsraits 600          512K     2          dest         
0x00000000 4816933    martsraits 606          8,2M     2          dest         
0x00000000 4816934    martsraits 606          8,2M     2          dest         
0x00000000 4816935    martsraits 600          128M     2          dest         
0x00000000 3670057    martsraits 600          512K     2          dest         
0x00000000 3309611    martsraits 600          512K     2          dest         
0x00000000 1441844    martsraits 600          512K     2          dest         
0x00000000 2555960    martsraits 600            8M     2          dest         
0x00000000 917564     martsraits 600          512K     2          dest         
0x00000000 3899453    martsraits 600          512K     2          dest     

의 크기 열의 합은 ipcs -m500M에 불과합니다.

답변1

방금 임베디드 시스템에서 이 문제가 발생했는데 문제는 tmpfs특히 로그가 거기에 저장되어 있고(변경해야 함) 너무 많은 메모리를 차지한다는 것입니다. 예, 출력에서 free​​공유 메모리를 차지하는 것으로 나타납니다 .

관련 정보