Распределение памяти ядром Linux (сколько, собственно, оно занимает....)

Взгляд изнутри

Модератор: Модераторы разделов

Ответить
Аватара пользователя
newsrc
Сообщения: 314
ОС: Slackware

Распределение памяти ядром Linux

Сообщение newsrc »

Пытаюсь разобраться, по возможности, с распределением памяти при загрузки ядра Linux.
Вот лог загрузки системы:

Код: Выделить всё

Dec 21 15:33:59 new-mail kernel: console [tty0] enabled
Dec 21 15:33:59 new-mail kernel: Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Dec 21 15:33:59 new-mail kernel: Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Dec 21 15:33:59 new-mail kernel: Memory: 251624k/261888k available (5005k kernel code, 9632k reserved, 1596k data, 272k init, 0k highmem)
Dec 21 15:33:59 new-mail kernel: virtual kernel memory layout:
Dec 21 15:33:59 new-mail kernel:     fixmap  : 0xfffec000 - 0xfffff000   (  76 kB)
Dec 21 15:33:59 new-mail kernel:     pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
Dec 21 15:33:59 new-mail kernel:     vmalloc : 0xd0800000 - 0xff7fe000   ( 751 MB)
Dec 21 15:33:59 new-mail kernel:     lowmem  : 0xc0000000 - 0xcffc0000   ( 255 MB)
Dec 21 15:33:59 new-mail kernel:       .init : 0xc0776000 - 0xc07ba000   ( 272 kB)
Dec 21 15:33:59 new-mail kernel:       .data : 0xc05e3433 - 0xc0772478   (1596 kB)
Dec 21 15:33:59 new-mail kernel:       .text : 0xc0100000 - 0xc05e3433   (5005 kB)

Правильно ли я понимаю, строка:
Memory: 251624k/261888k available (5005k kernel code, 9632k reserved, 1596k data, 272k init, 0k highmem)
говорит о распределении памяти:
261888k - общая память системы;
251624k - доступная память.
А вот в скобках - 5005k kernel code - эта та память, которая занимается ядром?

Вообще мне нужно узнать сколько памяти "съедает" именно ядро системы, без приложений, т.е. вывод:

Код: Выделить всё

root@new-mail:/var/log# free
             total       used       free     shared    buffers     cached
Mem:        252136      41092     211044          0       3532      24988
-/+ buffers/cache:      12572     239564
Swap:       401616          0     401616
уже не даст нужной информации. Здесь же used Mem: 41092 - память, занятая приложениями??
Система -- это совокупность элементов и связей, дающая новые свойства, не присущие ни одному из элементов и ни одной из связей.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable
Контактная информация:

Re: Распределение памяти ядром Linux

Сообщение Portnov »

cent64 писал(а):
21.12.2008 17:13
А вот в скобках - 5005k kernel code - эта та память, которая занимается ядром?

Это объём памяти, занимаемой кодом ядра. Общий объём памяти ядра - это сумма
cent64 писал(а):
21.12.2008 17:13
(5005k kernel code, 9632k reserved, 1596k data, 272k init, 0k highmem)
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
newsrc
Сообщения: 314
ОС: Slackware

Re: Распределение памяти ядром Linux

Сообщение newsrc »

И эта сумма не меняется после загрузки?
Система -- это совокупность элементов и связей, дающая новые свойства, не присущие ни одному из элементов и ни одной из связей.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable
Контактная информация:

Re: Распределение памяти ядром Linux

Сообщение Portnov »

Насколько я понимаю - может меняться. Правда, существенно - вроде, только при загрузке/выгурзке модулей. Плюс на каждый процесс выделяется определённое количество памяти ядра, но немного (1.7К, если не ошибаюсь). Остальные структуры памяти ядра освобождаются не реже, чем выделяются, поэтому 'в среднем' размер памяти ядра растёт только с ростом количества процессов в системе, или модулей ядра.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Ответить