
"top" 유틸리티가 사용하는 VIRT/RES/SHM 용어를 가정해 보겠습니다.
cgroup은 memory.limit_in_bytes
VIRT 또는 RES 메모리 크기에 적용됩니까? Fedora 23에서는 RES(상주) 메모리가 cgroup에 의해 제한되는 것처럼 보였기 때문에 묻습니다. 그런 다음 Fedora 25를 설치했는데 갑자기 이전에 발생하지 않았던 프로세스 종료가 자주 발생했습니다(문제를 설명하기 위해 일부 dmesg 출력이 하단에 포함되어 있음). Fedora 23과 25 사이에서 cgroup의 동작이 변경되었으며 이제 RES 메모리 사용 대신 VIRT를 제한하는 것 같습니다.
누가 내 의심을 확인해 줄 수 있나요? 그리고 이전 행동을 되돌릴 수 있는 방법이 있나요? cgroup 커널 문서를 검색했지만 아무것도 찾지 못했습니다. 아마도 잘못된 용어로 검색하고 있기 때문일 것입니다.
dmesg 출력:
Tue Jun 20 01:46:12 2017: Memory cgroup out of memory: Kill process 787 (Web Content) score 204 or sacrifice child
Tue Jun 20 01:46:12 2017: Killed process 787 (Web Content) total-vm:14151032kB, anon-rss:5000940kB, file-rss:6132kB, shmem-rss:115956kB
답변1
파일 캐시를 포함한 사용자 메모리에 적용됩니다.
여기에서 memory.limit_in_bytes를 확인하세요.https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-memory.html
memory.limit_in_bytes는 최대 사용자 메모리 양(파일 캐시 포함)을 설정합니다.
존재:
캐시: tmpfs(shmem)를 포함한 페이지 캐시(바이트)
rss: tmpfs(shmem)를 제외한 익명 및 스왑 캐시(바이트)