連載第16回
2014年2月9日
ServersMan@VPS 不要なサービスを停止する

 前回、超初歩的セキュリティ対策から少し離れて、雑務的なところの設定の様子を書いたのですが、Disqusへのコメントで「次はchkconfigも見てみるといいかもしれませんね。不要なサービスは停止することをおすすめ」と、親切にもvineworkさんからアドバイスを頂きました。そう言えば、これまで参考にしてきた記事内でも「使わないアプリは起動しているとメモリを食うから停止させた方がベターよ」というような記述を幾度か見かけた気がします…。
 つまり僕のような古い世代で言えば「このコントロールパネル書類と機能拡張は不要だし、起動時にコンフリクト起こす場合もあるから外しておくべきだな」という昔のクラシックなMacOSでやっていたような事と似ているのかもしれません。そこでまず「chkconfig」というコマンドの意味をググってみました。

chkconfig

 全く意味が解らないではないか。例えば文中にある「ラン・レベル」の解説も読んでみたけれど、まあ、要領を得ない。とりあえずサーバーはここからは遠く離れた何処かにあって、もし何か操作を間違えて爆発しても僕には何ら影響はないので、毎度のようにフリフリでログインしてコマンド(↓)を入力してみたのが、冒頭のキャプチャ画像(↑)。

コンフィグリストの表示コマンド

$ chkconfig --list

 リスト最後に出てくる「Xinetd」というのも気になったのでググってみたけれど、これまた良く解らなくて、せいぜい読み方が分かったくらい。ザイネットディー。

デーモンって何それ閣下?小暮?総統?それはデスラー

 理解出来ないのは自分に非があって参照先の解説に問題はありません。ともかく引き続いてネットを調べてみると、サーバー起動中に立ち上がっているサービスをデーモンとも呼ぶそうで、やはり動作しているからにはユーザーに割り当てられた少ないメモリを占有していることになるのだから、不要なら終了しておきましょう、という事らしい。僕がレンタルしているServersMan@VPSのエントリープラン&ブログセットでは「メモリ1GB」ですから、やはりここは積極的に不要デーモンは閉じておくべきなのでしょう。そこで参考にさせていただいた記事は下記のコチラ。

外部サイト参考記事
不要なサービスを停止 CentOS 5.5(http://linux.rakunet.jp)
CentOS 5.4で不要なサービスを停止する(パンダのメモ帳)
DTI ServersMan@VPS 最初にやったこと(CreativeGear)
デーモンの設定(Penguin’s campus note)

 特に上から2つは、各サービスがどのような動作を担当しているのかも説明されていて懇切丁寧なのですが、しかし残念ながら自分にはその動作内容を的確に理解する力が備わっていません。例えば「rawdevices」の説明はじっくり読んではみたもののまるで解らない。トホホ。しかしこんな僕にでも、さすがに「bluetooth」は要らないだろう…と解ります。

意外にスマートだったServersMan@VPS

 紹介した参考記事を、とりあえず上から下までざっくりを目を通した後に、改めて当ページ冒頭に掲げた「chkconfig –list」の表示結果を見てみると、あら?意外にもうダイエット済み…?というか、凄くスマートなリストになっている気がします。「bluetooth」とか「yum-updatesd」というような僕にでも不要と分かるものは最初から省いている感じです。念のためrootに上がって再チェックしてみたけど内容は変わらず。

 そうなると現状で一体メモリをどれくらい喰っているのかが気になります。そこで新たに登場するのが「free」コマンド。早速打ち込んでみました。

フリーなメモリ使用状況表示コマンド

$ free -m

 1GBの割当ての中から使用中なのは110MB。まだ900MBの空きがあります。今はまだ何も能動的な事はしてない状態なので、WordPressを稼働させた後にどうなるかは分からないのだけれど、(素人考えでは)切迫した状況でもなさそうな気がします。

外部サイト参考記事
linuxで空きメモリがどんくらいあるか確認する方法(かせいさんとこ)

でも試してみたいのが人の常

 改めて参考記事などをじっくり見比べて検討してみたのですが、やはり「絶対閉じるべき」というものは見当たりません。ユーザーの使用目的によっても要・不要は揺れていますし、それがどのような機能を担当しているのか正しく理解していない状態で迂闊な事はしない方が良い気がします。でもちょっと試してみたい…。そこでDTIの正規サービスである「serversman」を停止してみることにしました。何だそれは。いや、クラウドに書類やデータなどを積極的にバックアップする習慣がほとんど無いものですから。

 実行中のサービスを停止するのは「service サービス名 stop」コマンドらしい。「su -」で上がってから実行してみます。

実行中のサービスを停止

$ service serversman stop

root権限にて行います。

 えいやっ!と実行してみたけれど、何故かServersMan@VPSでは効きませんでした(理由は分からない→もしかしてrootに上がるのを忘れてたかも…)。なので、めげずに今度は「$ sudo /sbin/chkconfig serversman off」を試してみます。

別コマンドでリトライ

$ sudo /sbin/chkconfig serversman off

root権限にて行います。

 打ち込んだ後に「chkconfig –list」でリスト表示させ、serversmanの箇所を見てみると全てのラン・レベルでoffになっているようです。serversman、停止したな(↓)。

 そこで早速「free -m」でメモリの空きチェックしてみるけれど変化なし。開放するにはリスタートしないとダメかもと思い、その前にサーバーの再起動後もサービスを実行されないようにするコマンド「chkconfig サービス名 off」を「su -」で昇格してから打ち込んでおきます。そこまで行っておいてから「shutdown -r now」で再起動。

chkconfigでサービスをoffる

# chkconfig serversman off

同じくroot権限にて行います。

メモリ使用量減った

 珈琲タイムでしばし休憩してから再びサーバーにログイン、改めて「chkconfig –list」でリスト表示させてみると、無事、serversmanは停止したままになっていました。そこでメモリの状態をチェックしてみたところ…。
 111MB→48MBへ劇的な削減達成、これは凄い。小さな小さな60MBほどの攻防でどれほど効果があるのか分かりませんが、満足度は高い作業でした。つづく!

ip6tablesも停止しておいて構わないのか悩み中。