Похож на кого-то, печатает неподписанные числа с (подписанным) форматом %d...
Память, представленная "буферами/кэшем" в free
Ваш диск и кэш файловой системы, соответственно, который кэши Linux ускорить данные чтения с Вашего диска, как удар диска обычно является довольно медленным способом неоднократно получать доступ к данным. По сути, они кэшируются в памяти и прозрачно подаются оттуда при наличии.
Вы видите, при помощи которого блоки в настоящее время находятся в Вашем кэше fincore
. Вот пример от страницы проекта:
# fincore --pages=false --summarize --only-cached *
stats for CLUSTER_LOG_2010_05_21.MYI: file size=93840384 , total pages=22910 , cached pages=1 , cached size=4096, cached perc=0.004365
stats for CLUSTER_LOG_2010_05_22.MYI: file size=417792 , total pages=102 , cached pages=1 , cached size=4096, cached perc=0.980392
stats for CLUSTER_LOG_2010_05_23.MYI: file size=826368 , total pages=201 , cached pages=1 , cached size=4096, cached perc=0.497512
stats for CLUSTER_LOG_2010_05_24.MYI: file size=192512 , total pages=47 , cached pages=1 , cached size=4096, cached perc=2.127660
stats for CLUSTER_LOG_2010_06_03.MYI: file size=345088 , total pages=84 , cached pages=43 , cached size=176128, cached perc=51.190476
Что касается того, как очистить их, от man 5 proc
:
/proc/sys/vm/drop_caches (начиная с Linux 2.6.16)
Запись в этот файл заставляет ядро отбрасывать чистые кэши, dentries, и inodes из памяти, заставляя ту память стать бесплатной. Это может быть полезно для тестирования управления памятью и выполнения восстанавливаемых сравнительных тестов файловой системы. Поскольку запись в этот файл заставляет преимущества кэширования быть потерянными, это может ухудшить полную производительность системы.
- Для освобождения pagecache используйте:
echo 1 > /proc/sys/vm/drop_caches
- Для освобождения dentries и inodes используйте:
echo 2 > /proc/sys/vm/drop_caches
- Для освобождения pagecache, dentries и inodes, используйте:
echo 3 > /proc/sys/vm/drop_caches
Поскольку запись в этот файл является неразрушающей операцией, и грязные объекты не freeable, пользователь должен выполнить синхронизацию (8) сначала.
Вы обычно не хотите сбрасывать кэш, поскольку его вся цель состоит в том, чтобы улучшить производительность, но для отладки целей можно сделать так при помощи drop_caches
как так (примечание: необходимо быть корнем для использования drop_caches, но синхронизация может быть сделана как любой пользователь):
# sync && echo 3 > /proc/sys/vm/drop_caches
sudo tee /proc/sys/vm/drop_caches >/dev/null <<< 3
никакой вывод также. – 24.12.2013, 12:41