http://www.atmarkit.co.jp/flinux/rensai/tantei01/bangai01c.html
続く drop_caches の説明も間違ってる
と書かれているが、当該箇所のソースは以下である
linux/fs/drop_caches.c
要するに、0なんか書き込んでも無視されているだけである。drop_cachesはいかなる状態も管理なんかしていない。
ただのキャッシュ破棄用のインターフェースにすぎない
かつ、RHELだと古いバージョンはバグがあってOSがハングする可能性があるので、安易に drop_caches を勧めるのもどうかと思う。
続く drop_caches の説明も間違ってる
0. デフォルト状態に戻す場合
# echo 0 > /proc/sys/vm/drop_caches
と書かれているが、当該箇所のソースは以下である
linux/fs/drop_caches.c
int drop_caches_sysctl_handler(ctl_table *table, int write,
struct file *file, void __user *buffer, size_t *length, loff_t *ppos)
{
proc_dointvec_minmax(table, write, file, buffer, length, ppos);
if (write) {
if (sysctl_drop_caches & 1)
drop_pagecache();
if (sysctl_drop_caches & 2)
drop_slab();
}
return 0;
}
要するに、0なんか書き込んでも無視されているだけである。drop_cachesはいかなる状態も管理なんかしていない。
ただのキャッシュ破棄用のインターフェースにすぎない
かつ、RHELだと古いバージョンはバグがあってOSがハングする可能性があるので、安易に drop_caches を勧めるのもどうかと思う。
コメント
コメント一覧 (4)
bugzilla読んでも、対策したと書かれていなかったので
てっきり直ってないものと思い込んでおりました。
今度確認しときます。
で値を変更したら、そのままの値で設定されてしまいませんか
echo 0 > /proc/sys/vm/drop_caches
でデフォルトの値にもどしているのでは?
なにも起きないが、起きない値に設定しておくことは必要なのでは?
drop_cacheは内部的に状態を記憶する変数を持たないので戻すという操作がそもそも適切ではありません。状態をもたないものに対して「戻す」という概念はないので。