2012年12月9日日曜日

SQUID: Your cache is running out of filedescriptors

SQUID で 以下のエラーが出た場合・・・

Your cache is running out of filedescriptors

要はファイルでスクリプタが足りませんよ~というエラー

1. 現在のSquidの状態を確認

# squidclient -p 8080 mgr:info | grep ‘file descri’

Maximum number of file descriptors: 1024
Available number of file descriptors: 1010
Reserved number of ile descriptors: 100

大概、ここの Maximum に引っかかっている

2. 調整 squid.conf

max_filedesc 数値

を追記
保存後 Squid を restart すれば 新しい値にて設定される

3. ついでに OS側も調整

/etc/sysctl.conf



fs.file-max = 数値(大体 65536)

を追記

sysctl -p

にて 設定を適用する

2012年12月2日日曜日

kernel: Clocksource tsc unstable

CentOS 6.3 仮想のゲストOSで
/var/log/messages に大量の

kernel: Clocksource tsc unstable (delta = XXXXXXXXX ns). Enable clocksource failover by adding clocksource_failover kernel parameter.

というログが出ていた。

仮想サーバーが 時刻同期のためにCPUのクロックカウンターをベースにしている故に発生するもののようです
最近のCPUはターボブーストやらスピードステップやらとクロック変動させるため
unstabe = 不安定だよ!って出ているみたいです

解決策:
以降のメッセージにあるとおり
Enable clocksource failover
をすればいいわけであり
代替のclocksource を用意すればいいってことですね

clocksource は 以下
# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
kvm-clock tsc acpi_pm

自分は acpi_pm を使うので
ゲストOS上の
/etc/grub.conf のカーネルパラメーターに clocksource_failover=acpi_pm を追加


kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_web01-lv_root rd_NO_LUKS rd_LVM_LV=vg_web01/lv_root rd_NO_MD crashkernel=auto clocksource_failover=acpi_pm KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=vg_web01/lv_swap LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet