free로 표시된 대로 2GB 공유 메모리가 사용됨 [닫기]

free로 표시된 대로 2GB 공유 메모리가 사용됨 [닫기]

운영 체제: 우분투 16.04

free출력에는 약 2GB의 공유 메모리가 표시됩니다. 공유 메모리는 일정 시간이 경과한 후에도 할당된 상태로 유지됩니다.로그아웃이며 목록의 특정 프로세스가 top이를 차지하지 않습니다.

ipcs -m이 소비에 대한 단일 프로세스(또는 합계)에 대한 표시는 없습니다.

sync또는 sysctl vm.drop_caches={1..3}공유 메모리가 줄어들지 않습니다. (예상 캐시만 해당)

실제로 쓰기 차단 장치를 사용하려는 잘못된 시도로 인해 문제가 발생하여 dd에서 물리적 파일이 생성된다는 것을 알고 있습니다 /dev/(답변 참조).

참고로:

> grep ' /dev ' /proc/mounts 
udev /dev devtmpfs rw,nosuid,relatime,size=1941504k,nr_inodes=485376,mode=755 0 0

무엇이 공유 메모리를 점유하고 있는지 알아내기 위해 일반적으로 어떤 단계를 취합니까?

답변1

그 이유는 dd 명령에 오류를 입력하고 물리적 파일 /dev/mmcblk1을 썼기 때문입니다.

 > ll /dev/mmcblk*
-rw-r--r-- 1 root root   1.9G 2017-11-03 18:09 /dev/mmcblk1 
brw-rw---- 1 root disk 179, 0 2017-11-03 18:10 /dev/mmcblk2

SD 카드를 제거하고 오류를 확인한 후 실제 파일을 삭제하고 캐시 사용량이 2GB 감소했습니다.

예제를 재현하려면 다음을 수행하십시오.

> free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.7G        919M        163M        1.2G        1.6G

> sudo dd if=/dev/zero of=/dev/BIG  bs=1M count=700 status=progress
700+0 records in
700+0 records out
734003200 bytes (734 MB, 700 MiB) copied, 0.743527 s, 987 MB/s

> free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.7G        221M        859M        1.8G        982M

> sudo rm /dev/BIG

> free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.7G        904M        160M        1.2G        1.6G

관련 정보