/proc/[pid]/status는 항상 kB를 사용합니까?

/proc/[pid]/status는 항상 kB를 사용합니까?

특히 procVmRSS 값은 항상 kB? 믿을만한 답변을 찾을 수 없습니다문서, 유닛에 붙어 있는 것처럼 보이지만.

답변1

예, 항상 kB 단위입니다. 정확하게는 KiB(1000이 아닌 1024바이트)입니다.

적어도 Linux 4.0에서는(그리고 이 코드는 최소한 2005년 4월 이후로 본질적으로 변경되지 않았습니다. 이때 Linus가 전환했으며 git더 이상 확인하고 싶지 않습니다)task_mem존재하다fs/proc/task_mmu.c. 몇 줄 발췌:

seq_printf(m,
    "VmPeak:\t%8lu kB\n"
    "VmSize:\t%8lu kB\n"
    "VmLck:\t%8lu kB\n"
    "VmPin:\t%8lu kB\n"
    "VmHWM:\t%8lu kB\n"
    "VmRSS:\t%8lu kB\n"
    "VmData:\t%8lu kB\n"
    "VmStk:\t%8lu kB\n"
    "VmExe:\t%8lu kB\n"
    "VmLib:\t%8lu kB\n"
    "VmPTE:\t%8lu kB\n"
    "VmPMD:\t%8lu kB\n"
    "VmSwap:\t%8lu kB\n",
    hiwater_vm << (PAGE_SHIFT-10),
);

C를 읽을 수 있는지 확실하지 않지만 "kB"가 하드코딩되어 있습니다. 다른 장치에 대한 논리 출력은 없습니다.

관련 정보