it-swarm-ko.tech

얼마나 많은 RAM 커널을 사용합니까?

이 질문은 Mac OS X 커널에서 750MB of RAM 을 사용했을 때 충격을 받았습니다.

나는 20 년 동안 리눅스를 사용해 왔으며, 커널 RAM 사용법이 X에 의해 왜소하다는 것을 항상 "알았다"(사실입니까? 사실입니까?).

따라서 인터넷 검색 후 slabtop을 시도해 보았습니다.

Active / Total Size (% used)       : 68112.73K / 72009.73K (94.6%)

이것은 내 커널이 ~ 72MB의 RAM을 (를) 사용하고 있음을 의미합니까?

(topXorg의 RSS를 17M으로보고하게되면 커널은 다른 방법이 아니라 X를 왜소하게 만듭니다.).

노트북의 "일반"커널 RAM 사용량 (범위)은 무엇입니까?

MacOS가 Linux보다 RAM보다 더 많은 순서를 사용하는 이유는 무엇입니까?

추신. 여기에 마지막 질문에 대한 답변이 없으므로 관련 질문을 참조하십시오.

47
sds

커널은 약간 잘못된 것입니다. Linux 커널은 여러 프로세스/스레드 + 모듈 (lsmod)로 구성되어 있으므로 전체적인 그림을 얻으려면 단일 구성 요소가 아니라 전체 구성 요소를 확인해야합니다.

우연히 내 쇼는 slabtop :

 Active / Total Size (% used)       : 173428.30K / 204497.61K (84.8%)

slabtop의 맨 페이지에도 다음과 같은 내용이 있습니다.

슬랩 탑 통계 헤더는 사용중인 슬래브의 바이트 수를 추적하며 실제 메모리의 척도가 아닙니다./proc/meminfo 파일의 'Slab'필드는 사용 된 슬랩 물리적 메모리에 대한 정보를 추적합니다.

캐시 삭제

귀하의 질문에 대한 의견에서 내 캐시를 @ derobertsuggested 로 삭제하면 다음과 같은 작업이 수행됩니다.

$ Sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
$

 Active / Total Size (% used)       : 61858.78K / 90524.77K (68.3%)

3을 보내면 무료 페이지 캐시, 덴 트리 및 inode가 수행됩니다. 이 U & L Q & A에서이 주제에 대해 더 자세히 논의하겠습니다 : 메모리 캐시와 버퍼를 덤프하는 방법이나 도구가 있습니까? "그래서 페이지 캐시, 덴트 리에 관한 정보를 유지함으로써 110MB의 공간이 사용되었습니다. 그리고 아이 노드.

추가 정보

  • 관심이 있으시면 slabtop에 대해 자세히 설명하는이 블로그 게시물을 찾았습니다. 제목은 오늘의 Linux 명령 : slabtop 입니다.
  • Slab Cache는 Wikipedia에서보다 자세하게 설명합니다 : 제목은 Slab assignment .

그렇다면 얼마나 많은 RAM 커널을 사용하고 있습니까?

이 사진은 나에게는 조금 안개가 낀 것이지만 여기에 우리가 알고있는 것들이 있습니다.

투수판

이 기술을 사용하여 Slab 사용량의 스냅 샷을 얻을 수 있습니다. 기본적으로이 정보를 /proc/meminfo에서 가져올 수 있습니다.

$ grep Slab /proc/meminfo
Slab:             100728 kB

모듈

또한 /proc/modules에서 다음 값을 가져와 커널 모듈의 크기 값을 얻을 수 있습니다 (디스크에서 크기인지 RAM인지 확실하지 않음).

$ awk '{print $1 " " $2 }' /proc/modules | head -5
cpufreq_powersave 1154
tcp_lp 2111
aesni_intel 12131
cryptd 7111
aes_x86_64 7758

슬라브 정보

SLAB에 대한 자세한 내용은이 proc 구조 /proc/slabinfo에서 액세스 할 수 있습니다.

$ less /proc/slabinfo | head -5
slabinfo - version: 2.1
# name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
nf_conntrack_ffff8801f2b30000      0      0    320   25    2 : tunables    0    0    0 : slabdata      0      0      0
Fuse_request         100    125    632   25    4 : tunables    0    0    0 : slabdata      5      5      0
Fuse_inode            21     21    768   21    4 : tunables    0    0    0 : slabdata      1      1      0

Dmesg

시스템이 부팅되면 Linux 커널이로드 된 직후 메모리 사용량을보고하는 행이 있습니다.

$ dmesg |grep Memory:
[    0.000000] Memory: 7970012k/9371648k available (4557k kernel code, 1192276k absent, 209360k reserved, 7251k data, 948k init)

참고 문헌

40
slm

이건 어때요:

Active / Total Size (% used)       : 4709.24K / 5062.03K

정상 커널로 헤드리스없이 새로 부팅 된 매우 작은 시스템에 있습니다.

Derobert가 암시 하듯이, 커널은 캐싱에 사용 가능한 메모리를 사용하며 이는 slabtop에서 볼 수있는 많은 것입니다. 파일 캐시 외에도 더 이상 사용하지 않는 사용자 공간 프로세스의 공유 가능 메모리와 관련이 있습니다. 커널은 동일한 것들이 다시 필요할 때까지 또는 RAM이 필요할 때까지 그것을 남겨두고 잊어 버립니다. 비유는 책을 선반에서 꺼내서 테이블 위에 놓아 두는 것입니다. 책을 다 읽었을 때 책을 다시보아야 할 경우를 대비하여 테이블에 책을 열어 둘 수 있습니다.

8
goldilocks

이 512GB RAM Solaris를 실행하는 서버에서 커널은 25GB를 사용합니다.

Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                    3210102             25078    5%
Anon                     15266226            119267   23%
Exec and libs               41457               323    0%
Page cache                3539331             27651    5%
Free (cachelist)         13799571            107809   21%
Free (freelist)          30093164            235102   46%

Total                    65949851            515233
Physical                 65927406            515057

그 작은 것이 커널이 사용하는 RAM의 절반 이상) :

Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                    2149699             16794   52%
Anon                       517016              4039   13%
Exec and libs               15420               120    0%
Page cache                  21840               170    1%
Free (cachelist)             8768                68    0%
Free (freelist)           1404862             10975   34%

Total                     4117605             32168
Physical                  4096002             32000

걱정하지 않아도됩니다. 미사용 RAM 낭비 RAM 어쨌든).

4
jlliagre