Linuxカーネルバッファメモリがゼロです

Linuxカーネルバッファメモリがゼロです

Google で見つけられない質問が 1 つあります。

私は多くの Linux ボックスを持っていますが、そのほとんどは SLES または openSUSE で、さまざまなバージョンとカーネルを使用しています。そのうちのいくつかで、Oracle トランザクションが遅いという問題に直面しました。これは時々発生する問題で、そのときにボックスにログインすると、Oracle がカーネル関数 sync_page でブロックされていることがわかります。

# while :; do ps axo stat,pid,cmd,wchan | egrep '^D|^R'; echo --; sleep 5; done
D     3483 hald-addon-storage: polling ide_do_drive_cmd
Ds    4635 ora_dbw0_orcl               sync_page
Ds    4637 ora_lgwr_orcl               sync_page
Ds    4639 ora_ckpt_orcl               sync_page
D    11210 oracleorcl (LOCAL=NO)       sync_page
D    12457 [smtpd]                     sync_page
R+   12458 ps axo stat,pid,cmd,wchan   -
--
Ds    4635 ora_dbw0_orcl               sync_page
Ds    4637 ora_lgwr_orcl               sync_page
Ds    4639 ora_ckpt_orcl               sync_page
D    11210 oracleorcl (LOCAL=NO)       sync_page
R+   12501 ps axo stat,pid,cmd,wchan   -
--
Ds    4635 ora_dbw0_orcl               sync_page
Ds    4637 ora_lgwr_orcl               sync_page
Ds    4639 ora_ckpt_orcl               sync_page
D    11210 oracleorcl (LOCAL=NO)       sync_page
R+   12535 ps axo stat,pid,cmd,wchan   -
--
Ds    4635 ora_dbw0_orcl               sync_page
Ds    4637 ora_lgwr_orcl               sync_page
Ds    4639 ora_ckpt_orcl               sync_page
D    11210 oracleorcl (LOCAL=NO)       sync_page
R+   12570 ps axo stat,pid,cmd,wchan   -
--

だから、そのボックスはディスクバッファのメモリが不足していると思うが、メモリは正常である

             total       used       free     shared    buffers     cached
Mem:       4149084    3994552     154532          0          0    2424328
-/+ buffers/cache:    1570224    2578860
Swap:      3148700     750696    2398004

これが問題だと思います。バッファがゼロなのでディスクに直接書き込む必要がありますが、 なぜバッファがゼロなのですか?- グーグルで検索してみましたが何も見つかりません。誰か助けてくれませんか?

答え1

Oracle DBMS は OS のバッファをバイパスし、ブロック デバイスに直接書き込みます。トランザクションが遅くなるのは、バッファが使用されていないことが原因ではないと思います。

答え2

freeカーネルが使用しているバッファの量を示します。どれだけ利用できるかではなくカーネル バッファは合計メモリから取得されるため、この場合、カーネルはバッファ用に 0/4149084 の使用可能なメモリを使用しています。これはお客様の問題ではないと考え、Oracle 関連の問題が発生している理由を調べるために新しい質問を作成します。

関連情報