Контент кэшируется в ОЗУ при записи на диск - Linux

Ваша проблема кажется, Будьте скомпилированы Python без поддержки Zlib. Убедитесь, что у вас установлен zlib-devel ( sudo apt-apt-rot stall zlib1g-dev ) до Компиляция Python. Нет ничего плохого в использовании Python скомпилированного вами, кроме того или вместо системы. Однако вы должны не забывать быть явным при вызове Python и вызвать тот, который вы намерены использовать, указав полный путь, как / usr / local / bin / python вместо простых python . В качестве альтернативы вы можете добавить ( / usr / local / bin / ) до вашего Путь до / usr / bin / , чтобы при наличии Python Система запускает ваш сборник Python.

-121--86115-

Основываясь на решении , есть другая возможность, что может быть быстрее. Вместо того, чтобы вычислить размер с DU для файлов в файле , мы можем использовать объявленный размер в элементе управления .

Что-то вроде моего маленького opkg_sizes скрипт

cd /usr/lib/opkg/info
for i in *.control
do
  echo `grep Size "$i" | cut -f 2 -d :` "${i%.control}"
done

Если вы хотите отсортировать вывод, вы можете запустить его через Сортировка :

./opkg_sizes | sort -n

Edit

Сравнение моего сценария Результаты yeti раскрытые различия. Это потому, что он упоминал / overlay / usr / lib / opkg / info , когда я думал, что префикс / Overlay не нужен. Ну, я не понимаю, почему, но / usr / lib / opkg / info дает также пакеты системы, а / overlay / usr / lib / opkg / info дает только пакеты пользователя.

Итак, если пользователь также заинтересован в пакетах системы, используйте первую версию. Но для того, чтобы добиться только пакетов пользователя, просто замените первую строку в:

 cd /overlay/usr/lib/opkg/info

после этого, оба скрипты относятся к той же упаковкам, но с разными номерами ... (помимо очевидной зависимости между байтами и килобайтами: - ))


root@ap8:~# ls -l 1412453029-14.07-wdr4300-default-packages 
-rw-r--r--    1 root     root          2683 Oct  4 20:03 1412453029-14.07-wdr4300-default-packages
root@ap8:~# du 1412453029-14.07-wdr4300-default-packages 
3       1412453029-14.07-wdr4300-default-packages

LS показывает размер в байтах, du показывает размер всех блоков, выделенных файлом.

0
20.06.2015, 08:24
2 ответа

Как я прокомментировал (и по очевидным причинам производительности), ядро ​​использует кэш страниц . Так что это особенность, а не проблема. См. http://linuxatemyram.com/ для получения дополнительной информации.

Вы можете (но я не рекомендую это делать), используя некоторые параметры mount (для отключения или уменьшения использования кеша страниц), и вам нужно umount ] любое устройство (например, USB-ключ) перед его отключением или извлечением. Затем ядро ​​сбрасывает все данные перед размонтированием.

Вы также можете выполнить синхронизацию .

1
28.01.2020, 02:27

Именно по замыслу ядра сообщает утилитам пользовательского пространства, что файловая операция была успешно завершена во время буферизации кэша.

Попробуйте отредактировать /etc/hdparm.conf, чтобы отключить кэширование при записи с опцией write_cache = off. Однако, это снизит производительность, и обычно предпочтительнее использовать sync, если вы хотите, чтобы буферы записи были промыты на диск.

2
28.01.2020, 02:27

Теги

Похожие вопросы