С csplit от GNU coreutils (не встроил Linux, Cygwin):
csplit -f entry -b '%d.txt' entry.txt '/^\[ .* \]$/' '{*}'
Вы закончите с дополнительным пустым файлом entry0.txt
(содержащий часть перед первым заголовком).
Стандарту csplit недостает {*}
неопределенный повторитель и -b
опция указать суффиксный формат, таким образом, в других системах необходимо будет считать количество разделов сначала и переименовать выходные файлы впоследствии.
csplit -f entry -n 9 entry.txt '/^\[ .* \]$/' "{$(egrep -c '^'\[ .* \]$'
Ядро является чем-то вроде неправильного употребления. Ядро Linux состоит из нескольких proceses/threads + модули (lsmod
) таким образом для получения полного изображения необходимо было бы посмотреть на целый шар и не только единственный компонент.
Шоу шахты Incidentally slabtop
:
Active / Total Size (% used) : 173428.30K / 204497.61K (84.8%)
Страница справочника для slabtop
также сказал следующее:
slabtop статистический заголовок отслеживает, сколько байтов плит используется и он не мера физической памяти. Поле 'Slab' в/proc/meminfo файле отслеживает информацию об используемой физической памяти плиты.
При отбрасывании моих кэшей, поскольку @derobert предложенный в комментариях под вопросом делает следующее для меня:
$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
$
Active / Total Size (% used) : 61858.78K / 90524.77K (68.3%)
Отправка 3 делает следующее: свободный pagecache, dentries и inodes. Я обсуждаю это больше в этом названные Вопросы и ответы U&L: Есть ли какие-либо пути или инструменты для дампа кэша памяти и буфера?". Так 110 МБ моего пространства использовался, просто поддержав информацию относительно pagecache, dentries и inodes.
slabtop
в немного большем количестве деталей. Это названо: команда Linux дня: slabtop.Это изображение является немного более туманным мне, но здесь является вещами, что я "думаю", что мы знаем.
Мы можем получить снимок использования Плиты с помощью этой техники. По существу мы можем вытянуть эту информацию из /proc/meminfo
.
$ grep Slab /proc/meminfo
Slab: 100728 kB
Также мы можем получить значение размера для модулей Ядра (неясный, является ли это их размером от на диске или когда в RAM) путем получения по запросу этих значений от /proc/modules
:
$ awk '{print $1 " " $2 }' /proc/modules | head -5
cpufreq_powersave 1154
tcp_lp 2111
aesni_intel 12131
cryptd 7111
aes_x86_64 7758
Большая часть деталей о ПЛИТЕ доступна в этой 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
Когда Ваши начальные загрузки системы там являются строкой, которая сообщает об использовании памяти ядра Linux сразу после того, как это загружается.
$ dmesg |grep Memory:
[ 0.000000] Memory: 7970012k/9371648k available (4557k kernel code, 1192276k absent, 209360k reserved, 7251k data, 948k init)
Как насчет этого:
Active / Total Size (% used) : 4709.24K / 5062.03K
Это находится на недавно загруженной, очень маленькой машине, работающей бездисплейный с нормальным ядром. Таким образом, не требуется многого.
Как derobert подсказки, ядро использует доступную память для кэширования, и это - многое из того, в чем Вы видите slabtop
. В дополнение к кэшу файла это имеет отношение к совместно используемой памяти от процессов пространства пользователя, которая больше не используется. Ядро оставляет его там, пока или тот же материал не требуется снова, или иначе чему-то активно нужна RAM, в этом случае об этом забывают. Аналогия взяла бы книгу с полки и положила бы ее открытый для чтения на таблице: когда Вы сделаны, читая, можно оставить книгу открытой на таблице в случае, если необходимо посмотреть на нее снова.
На этом сервере RAM на 512 ГБ под управлением Солярис ядро использует 25 ГБ:
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 так или иначе.
echo ::memstat | mdb -k
на некотором Солярисе 10 рабочих серверов, которые предшествуют обновлению 10/09.
– jlliagre
19.08.2015, 18:09
grep Slab /proc/meminfo
. – slm♦ 23.10.2013, 22:17/proc/slabinfo
, который надеется быть источником дляslabtop
, таким образом, можно было вычислить суммы отсюда для более точного общего количества. – slm♦ 23.10.2013, 22:23/proc/modules
более вероятно, будет загруженный размер модуля в памяти, поскольку дисковые модули обычно сжимаются (например, на Fedora 27 это - xz), я проверилtg3
Драйвер NIC, на размере диска (или сжатый или исходный размер файла) не подходит показ размера байта в/proc/modules
. – Terry Wang 12.12.2017, 03:00