LINUX 에서 PROCESS 가 사용할 수 있는 memory 범위에 관한 질문입니다.

chobozzang의 이미지

안녕하세요.
소스에 관한 질문이 아니여서 여기에 올려도 될 지 모르겠습니다만 Linux 개발자님들에 도움이 필요해서 글을 올리게 되었습니다.
현재 memory 를 상당히 많이 필요로 하는 프로그램을 개발해서 테스트 중인데요...
process 가 보통 OS 에서 할당된 가상메모리 보다 많이 쓰게 되면 Out of memory 시스템 로그가 뜨면서 kernel 에서 죽이는 걸로 알고 있는데요.
프로세스를 체크하다가 VmPeak 수치가 OS 에서 사용할 수 있는 가상메모리를 훨씬 넘는 경우가 발생하였습니다 ㅡ.ㅡ;;
2가지 이미지 파일인데요.
prcess_status.jpg 파일은 cat /proc/(pid)/status 로 확인한 것이고, free.jpg 는 free 명령어로 확인한 것 인데요.
free 명령어로 봤을 때 이 서버에서 사용할 수 있는 가상메모리는 약 132GB 이고, VmPeak 수치는 제가 알기로는 프로세스가 가장 많이 메모리를 사용하고 있을 때의 수치를 나타낸 걸로 알고 있는데요... 200GB 가 찍혀있습니다.
이 경우 프로그램이 죽었어야 정상이 아닌가요?(프로그램이 정상동작하고 있습니다)

File attachments: 
첨부파일 크기
Image icon process_status.jpg52.43 KB
Image icon free.jpg25.6 KB
익명 사용자의 이미지

free.jpg에서 Mem(used) + Swap(used) 하면 200GB 정도 나오는군요.

chobozzang의 이미지

감사합니다. swap 부분을 생각 못했네요

백연구원의 이미지

free에서 나오는 메모리는 physical 메모리 중 커널에서 사용가능한 부분일텐데요?
VmPeak는 지금까지의 논리 어드레스 최대 크기입니다. status와 연관을 시키려면 VmHWM와 해야하고, VmPeak와 연관시키려면 meminfo에 나오는 가상 메모리 크기와 연관을 지어보시는게 나을것 같네요.


소곤소곤

익명 사용자의 이미지

리눅스에서 free는 /proc/meminfo를 읽어들여 해석한 결과입니다.

해당 프로세스가 차지하고 있는 상주 메모리 크기는 VmRSS를 보시면 됩니다. VmHWM은 Peak RSS 입니다.
VmSize 와 VmRSS의 차이만큼의 양은 swap space에 존재한다고 보시면 됩니다.

또한, 아마 커널을 좀더 최신 버전으로 바꾸어 보면 VmSwap라는 항목이 추가로 보일 겁니다.

chobozzang의 이미지

감사합니다. cat /proc/meminfo 에서 MemTotal + SwapTotal 이 서버에서 사용할 수 있는 가상메모리 크기라고 생각해도 될까요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.