swap_pager_getswapspace(nn): failed

自分のためのメモ

Swap領域不足でサーバーが落ちる

最近、Swapが足りないエラーが出てサーバーが落ちてしまうことが結構あります。
その時の /var/log/messages には最初はこんな風にある時を境にSwap足りないというメッセージを延々と出し始め、

Oct  1 01:49:53 xxxxxxx kernel: swap_pager_getswapspace(12): failed
Oct  1 01:49:53 xxxxxxx kernel: swap_pager_getswapspace(12): failed
Oct  1 01:49:53 xxxxxxx kernel: swap_pager_getswapspace(16): failed
Oct  1 01:49:53 xxxxxxx kernel: swap_pager_getswapspace(12): failed

そしてそのうち色々なデーモンを殺し始め

Oct  1 02:16:50 xxxxxxx kernel: swap_pager_getswapspace(4): failed
Oct  1 02:19:44 xxxxxxx kernel: pid 42921 (mysqld), uid 88, was killed: out of swap space
Oct  1 02:20:33 xxxxxxx kernel: pid 742 (clamd), uid 106, was killed: out of swap space

サーバーが落ちます。 “swap_pager_getswapspace(nn): failed” の続きを読む

無料SSL証明書のLet’s Encryptを使ってみる

WebサイトのSSL化事情

一般的にSSL化したWebサイトを立てる時には二つのハードルがあります。一つは、本来SSL化できるサイトはひとつのIPアドレスでひとつだけ(IPベースのSSL)ということ。もう一つは、正式なSSL証明書を入手するにはある程度のコストが毎年かかるということです。一つ目のハードルは、SNIという手法が開発されて、ひとつのIPアドレスでも複数のSSLサイトを運用できるようになりました。しかし、これはブラウザ側の対応も同時に必要なのでそれが普及するまでしばらく時間が必要でした。二つ目は、有料でも比較的安いSSL証明書が提供されるようになってきています。それを利用すれば年間1,000円程度で済みますし、元々IPベースのSSLでの運用だと使えるホスト(ドメイン名)の数も必然的に限られていたこともあり、コスト的にも許せる程度で収まっていました。

そこへ、最近の「全てのWebサイトのSSL化が望ましい」という流れです。バーチャルドメインで複数のドメイン名サイトを複数のFQDNで運用しているのを全てSSL化するのは有料だとさすがにキツイので困っていたところに出てきたのがLet’s Encryptという無料SSL証明書です。また、SNIが実装されたブラウザが普及してきた(というよりは非対応のブラウザとそのプラットホームが淘汰されてきた)というのもあって、ようやく重い腰を上げたという訳です。 “無料SSL証明書のLet’s Encryptを使ってみる” の続きを読む

No such file or directory @ realpath_rec – /usr/local/lib/compat/pkg/libmysqlclient.so.18

自分のためのFreeBSDメモ

FreeBSDのPortsのアップグレードをしていたら

---> Cleaning out obsolete shared libraries
No such file or directory @ realpath_rec - /usr/local/lib/compat/pkg/libmysqlclient.so.18

というメッセージが出ているのに気が付きました。その後特に動作に影響はないみたいなのですが気になったので調べてみました。

“No such file or directory @ realpath_rec – /usr/local/lib/compat/pkg/libmysqlclient.so.18” の続きを読む

rsync 実行時に `tty`: Ambiguous が出る

未来の自分へのメモ

ネット越しにrsyncでファイルコピーをしたところ、

`tty`: Ambiguous

というメッセージが出てきました。別の環境では出たことが無く原因が判りませんでした。 “rsync 実行時に `tty`: Ambiguous が出る” の続きを読む

Command time limit exceeded (procmail)

先日から、自サーバーにメールを送ったらMAILER-DAEMONさんからこんなエラーが返ってくるようになりました。

Subject: Undelivered Mail Returned to Sender
Command time limit exceeded: “/usr/local/bin/procmail”

自サーバーではprocmailを使ってスパムメールの処理をさせていますが、これと言ってエラーの原因になるようなログが残っていません。時々エラーが返ってくることがある程度だったのがだんだん増えてきました。procmailを通らない経路のメールはちゃんと配信されているのでprocmailのどこかが変です。 “Command time limit exceeded (procmail)” の続きを読む