С 7zip, необходимо выполнить команду дважды, однажды чтобы распаковать и снова извлечь. Формат файла tar является просто "комком" всего застрявшего вплотную. Затем целый файл tar сжат с помощью различных алгоритмов сжатия в примере bzip. В основном получающийся файл имеет два слоя. Когда Вы "извлекаете" bzip слой, Вы получаете файл tar, затем при извлечении файла tar, Вы получаете набор отдельных файлов.
7zip не обрабатывает несколько слоев сразу, хотя это может обработать оба слоя:
7z x foo.tar.bz2
7z x foo.tar
На самом деле стандартные инструменты Unix работают тот же путь:
bunzip2 foo.tar.bz2
tar xf foo.tar
Однако Unix tar
команда имеет удобные функции, которые называют вторичные шаги сжатия и распаковки с помощью другой программы прежде чем/после того, как она обрабатывает часть tar. В основном -j
вызовы аргумента bzip2
/bunzip2
, Вы просто не видите второй шаг. Аналогично -z
будет звонить gzip
/gunzip
, и т.д.
Чистые страницы являются страницами, которые не были изменены, так как они были отображены (обычно, текстовые разделы из общих библиотек только читаются из диска (когда необходимый), никогда изменяемый, таким образом, они будут на общих, чистых страницах).
Грязные страницы являются страницами, которые не являются чистыми (т.е. были изменены).
Частные страницы доступны только тому процессу, поделившиеся страницы отображаются другим processes*.
RSS является общим количеством страниц, поделившихся или нет, в настоящее время отображаемый в процесс. Так Shared_Clean
+ Shared_Dirty
была бы общая часть RSS (т.е. часть RSS, который также отображается в другие процессы), и Private_Clean
+ Private_Dirty
половой орган RSS (т.е. только отображенный в этом процессе).
PSS (пропорциональный размер доли) - как Вы описываете. Частным страницам подводят итог, как, и размер каждого общего отображения разделен на количество процессов, которые совместно используют его.
Таким образом, если бы процесс имел 100k частные страницы, 500k страницы, поделившиеся с еще одним процессом и 500k, совместно использованным с четырьмя другими процессами, то PSS был бы:
100k + (500k / 2) + (500k / 5) = 450k
Дополнительные материалы для чтения:
Documentation/filesystems/proc.txt
в источнике ядраman proc(5)
Относительно сумм всего процесса:
RSS
может быть (приблизительно +) получен путем подведения итогов Rss:
записи в smaps
(Вы не должны складывать общие/частные общие/грязные записи).
awk '/Rss:/{ sum += $2 } END { print sum }' /proc/$$/smaps
Pss:
оценивает тот же путь, для получения глобальным процессом PSS
.USS
в не сообщают smaps
, но действительно, это - сумма частных отображений, таким образом, можно получить его то же слишком*Обратите внимание, что "совместно используемая" страница считается как частное отображение, пока она на самом деле не совместно используется. т.е. если существует только один процесс в настоящее время с помощью libfoo
, текстовый раздел той библиотеки появится в частных отображениях процесса. Это будет считаться в общих отображениях (и удаляться из частных), только, если/когда другой процесс начнет пользоваться той библиотекой.
Значения +The не складывают точно для всех процессов. Не абсолютно уверенный, почему... прошу прощения.
Shared_Dirty
- Вы могли разъяснить свой вопрос? (en.wikipedia.org/wiki/Sneakernet) – Mat 18.06.2013, 07:26