행궁동 데이터 엔지니어

반응형

개요 (How to see buffered and cached data)

perf(Performance Counter for Linux) 명령어를 사용해 리눅스 buffer cache에 올라가 있는 파일을 확인하는 방법입니다.

 

free -h 명령어로 메모리를 확인하다가 buffer/cache가 점유하고 있는 메모리가 많은 것을 보고

buffer/cache flush 방법을 찾다가 현재 메모리에 캐싱되어 있는 파일을 확인하는 방법은 없는지 궁금해 찾아보게 되었습니다.

 

perf 설치 및 buffer cache에 대한 내용은 아래 링크를 참고해주세요.

buffer cache에 올라가 있는 파일 추적 결과

 

 

Buffer cache에 올라간 파일 inode number 확인하기

  1. perf 명령어로 buffer cache에 올라간 파일을 샘플링
  2. ino(inode number)로 파일 추적
    • 아래 출력을 보면 "4016fc, 800015" 2개의 ino 확인 가능
sudo perf record -a -e filemap:mm\_filemap\_add\_to\_page\_cache sleep 20  
sudo perf script  
>> 출력  
ftdc 185217 \[000\] 700131.660265: filemap:mm\_filemap\_add\_to\_page\_cache: dev 8:21 ino 4016fc page=0x29b96e pfn=2734446 ofs=4096  
ftdc 185217 \[000\] 700131.660268: filemap:mm\_filemap\_add\_to\_page\_cache: dev 8:21 ino 4016fc page=0x245c11 pfn=2382865 ofs=8192  
jbd2/sdb5-8 221 \[000\] 700134.390865: filemap:mm\_filemap\_add\_to\_page\_cache: dev 0:3 ino 800015 page=0x41be48 pfn=4308552 ofs=127573897216  
ftdc 185217 \[000\] 700141.661083: filemap:mm\_filemap\_add\_to\_page\_cache: dev 8:21 ino 4016fb page=0x200945 pfn=2099525 ofs=0  
ftdc 185217 \[000\] 700141.661092: filemap:mm\_filemap\_add\_to\_page\_cache: dev 8:21 ino 4016fb page=0x19eed6 pfn=1699542 ofs=4096  
ftdc 185217 \[000\] 700141.661095: filemap:mm\_filemap\_add\_to\_page\_cache: dev 8:21 ino 4016fb page=0x3ba7ae pfn=3909550 ofs=8192

 

inode number를 이용한 파일 추적

  1. find 명령어에 -mount, -inum 옵션을 사용해 파일 추적
sudo find / -mount -inum $((0x4016fc))  
>> 출력  
/var/lib/mongodb/diagnostic.data/metrics.interim

sudo find / -mount -inum $((0x800015))  
>> 출력  
/var/lib/python3.8/site-packages/botocore/data/logs/2014-03-28/service-2.json

 

참고자료

  1. https://unix.stackexchange.com/questions/106478/how-to-see-buffered-and-cached-data
  2. jjudrgn’s note, perf 설명 및 간단 사용법, https://jjudrgn.tistory.com/24
  3. doz님 브런치, free 명령어.. 알고 쓰시나요?, https://brunch.co.kr/@dreaminz/2
반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band