CentOS6.5のサーバーが重いので設定変更

普段外部に公開しているのではなく、Redmineなどが入っているクラウドサーバーがとても重たいので調べて対策してみました。

スペック

  • CPU:1コア
  • メモリ:1GB
  • HDD:20GB

です。使っているのはRedmineの他にgitなどでファイルをいれています。owncloudもいれてます。

とにかく重たいペンギンサーバー

このサーバーはペンギンという名称にしています。とにかく重たく困ってました。原因はメモリの使用が多くswap領域まで使っていた事でした。

対策

サーバーはApacheを使っているので以下のようにconfファイルを変更しました。

01/etc/httpd/conf/httpd.conf
02 
03<IfModule prefork.c>
04StartServers 10
05MinSpareServers 5
06MaxSpareServers 15
07ServerLimit 256
08MaxClients 40
09MaxRequestsPerChild 1000
10</IfModule>

これで軽くなりました。その後swapoff -a && swapon -aコマンドでswapを使わない設定にしました。

HDDの容量が足りない・・・?

owncloudを使っていたせいか、なぜかHDDの容量が足りなくなってしまいました。dfコマンドでみたら以下のように出ました。

1Filesystem      Size  Used Avail Use% Mounted on
2/dev/vda3        18G   13G  4.3G  75% /
3tmpfs           499M     0  499M   0% /dev/shm
4/dev/vda1        98M   73M   20M  79% /boot

13GBも使ってます。原因はおそらくowncloudであげたファイルだと思いいらないファイルを削除しました。しかしそれでも減らないので以下のコマンドを実行してみました。

01du -h --max-depth=1 /
027.9G    /tmp
03459M    /root
0414M     /sbin
0516K     /lost+found
0632M     /etc
07202M    /home
08du: cannot access `/proc/29731/task/29731/fd/4': そのようなファイルやディレクトリはありません
09du: cannot access `/proc/29731/task/29731/fdinfo/4': そのようなファイルやディレクトリはありません
10du: cannot access `/proc/29731/fd/4': そのようなファイルやディレクトリはありません
11du: cannot access `/proc/29731/fdinfo/4': そのようなファイルやディレクトリはありません
120       /proc
13176K    /dev
144.0K    /mnt
154.0K    /selinux
162.2G    /usr
171.3G    /var
184.0K    /media
1968M     /boot
2023M     /lib64
214.0K    /srv
228.0K    /opt
237.3M    /bin
24343M    /lib
250       /sys
2613G     /

このコマンドはdfとは違いもう少し絞り込めるコマンドです。ここでは第1階層から表示しています。/tem、/usr、/varが1GB越えているのでここから何がくっているのか見ていきました。

var配下を見る

同じようにコマンドでvarの配下をみてみました。

01du -h --max-depth=1 /var/
0256K     /var/spool
034.0K    /var/nis
0416K     /var/tmp
058.0K    /var/db
064.0K    /var/local
074.0K    /var/yp
0838M     /var/log
098.0K    /var/empty
10284K    /var/webmin
1116K     /var/lock
12120K    /var/run
134.0K    /var/preserve
14114M    /var/cache
154.0K    /var/games
16611M    /var/www
174.0K    /var/cvs
184.0K    /var/opt
194.0K    /var/account
204.0K    /var/crash
21512M    /var/lib
221.3G    /var/

結論owncloud関係のファイルやRedmineのファイルがあるwwwやキャッシュ、logぐらいなので特に消すのは無しということでした。/usrも必要なのばかりでした。

/tmpが怪しい?

怪しいというよりも確実に7GBとかあったので気になる/tmpです。これは消していいのか調べてみたところ、/tmpは再起動すれば削除されるファイルらしいのでサーバーを再起動してみたところ、削除されませんでした。http://qiita.com/kuni-nakaji/items/f29be14be578b5a19d4b

どういうことだ・・・クーロンで自動で削除されるようにもなっているみたいですがそもそも僕はこのサーバーではクーロンを使用していない。。。手動で削除するとhttps://www.maruweb.jp.net/wp/?p=943のような危険な事にもなりかねない・・・

どうやら/tmpがサーバ再起動後、消えるか消えないかの記事を見ると設定によってかわるみたいです。僕のペンギンは再起動しても消えない設定になっていました。

手動でコマンドで削除

でtmpフォルダの最後に開いてから24時間たっているファイルを全て削除しました。dfコマンドで確認したところ

1Filesystem      Size  Used Avail Use% Mounted on
2/dev/vda3        18G  4.6G   13G  28% /
3tmpfs           499M     0  499M   0% /dev/shm
4/dev/vda1        98M   73M   20M  79% /boot

となりました。再起動も無事できました。

個人支援・寄付について

サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。

  • ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS