Table of contents
弊宅ではインターネットの抜け先をcloud上に冗長化したルーターから実施しており、 pfSense を利用している。
先日メンテナンスのさいにSWAP 98% というヤバそうなのを見つけ、対応したのでメモ。
last pid: 36094; load averages: 0.36, 0.27, 0.24
64 processes: 2 running, 62 sleeping
CPU: 1.3% user, 0.2% nice, 1.5% system, 0.6% interrupt, 96.4% idle
Mem: 73M Active, 279M Inact, 322M Laundry, 188M Wired, 97M Buf, 74M Free
Swap: 1024M Total, 765M Used, 258M Free, 74% Inuse
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
8120 root 3 20 0 1144M 568M select 17:39 0.00% pcscd
49950 root 1 20 0 123M 71M select 119:08 0.00% bsnmpd
84963 root 1 52 0 103M 12M accept 0:02 0.00% php-fpm
335 root 1 52 0 102M 13M accept 0:04 0.00% php-fpm
原因
pfSense 2.5.0 で service に追加された pcscd である。 PC/SC Smart Card Daemon と言うように Smart Card とやり取りするプロセスなのだが こいつがメモリーリークを起こしてる模様。
フォーラムで議論にもされており "pcscd PC/SC Smart Card Daemon" ? | Netgate Forum
起動時にプロセス起動しないようにすればオッケーとのこと
やり方は /etc/rc.bootup
を ssh して開いて
pcscd で検索
下記のうような項目があるので、
/* pcscd daemon must be started before IPsec */
echo "Starting PC/SC Smart Card Services...";
mwexec_bg("/usr/local/sbin/pcscd");
echo "done.\n";
コメントアウトすればよい
/* pcscd daemon must be started before IPsec */
/*
echo "Starting PC/SC Smart Card Services...";
mwexec_bg("/usr/local/sbin/pcscd");
echo "done.\n";
*/