ここ数日はWordPressのテーマをいじったりしていたのですが、併せて、サーバの増強も行いました。
このところ様子を見ていると、記事を更新した直後だったり、MarsEditでデータ取得したりした時に、サーバの負荷が非常に上がるのが気になっていました。
いくつか対応策はあるとは思いますが、今回はswapでの対策を考えてみたいと思います。
—✂—✂—✂—✂—✂
2016年2月23日 追記
この記事は旧サイトのほうで書いていたのですが、今はIDCFクラウドさんの別プランを使っています。
—✂—✂—✂—✂—✂
私が使っている、IDCFクラウドの最小構成では、スワップ領域はありません。なので、1GBのメモリを使い切ると途端にパフォーマンスが落ちます。
で、「IDCFクラウドでスワップ領域を作る」的なキーワードで検索すると、 「Amazon EC2 や IDCF クラウド上でスワップ領域を確保する」の記事がヒットするのですが、この記事で触れている方法(ディスク上にファイルを作成してそのファイルをスワップとして扱う)は、私の環境(CentOS Linux release 7.1.1503)では
swapon: /swap.img swaponは失敗しました: 無効な引数です
となってしまって上手いこといきませんでした。以下、私の作業した内容となります。
IDCFクラウドの管理ポータルから「ボリューム」を選択します。
ボリュームの作成とアタッチは、仮想マシン起動中で問題ありませんでした。
アタッチした直後の状態では、物理サーバで言えば、増設ディスクがつながっただけの状態なので、まだ認識できていません。
やむを得ませんのでここで一度再起動します。
再起動してくると追加ボリュームが認識できていると思います。
一応確認。
cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: VMware Model: Virtual disk Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 01 Lun: 00 Vendor: VMware Model: Virtual disk Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 02 Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: NECVMWar Model: VMware IDE CDR00 Rev: 1.00 Type: CD-ROM ANSI SCSI revision: 05
うん、見えてる見えてる。
そしたら、fdisk でスワップ用のパーティションを作成。
fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x34892825. コマンド (m でヘルプ): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p パーティション番号 (1-4, default 1): 1 最初 sector (2048-8388607, 初期値 2048): 初期値 2048 を使います Last sector, +sectors or +size{K,M,G} (2048-8388607, 初期値 8388607): 初期値 8388607 を使います Partition 1 of type Linux and of size 4 GiB is set コマンド (m でヘルプ): t Selected partition 1 Hex code (type L to list all codes): 82 WARNING: If you have created or modified any DOS 6.xpartitions, please see the fdisk manual page for additionalinformation. Changed type of partition 'FAT12' to 'Linux swap / Solaris' コマンド (m でヘルプ): p Disk /dev/sdb: 4294 MB, 4294967296 bytes, 8388608 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x34892825 デバイス ブート 始点 終点 ブロック Id システム /dev/sdb1 2048 8388607 4193280 82 Linux swap / Solaris コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 ディスクを同期しています。
作成したパーティションをスワップとして設定
mkswap /dev/sdb1 スワップ空間バージョン1を設定します、サイズ = 4193276 KiB ラベルはありません, UUID=3649edf2-4663-43ea-93e8-95834067cefc
このUUIDとても大事なのでコピーしておきます。UUIDはmkswapするごとに生成されるので、最新のものをコピーします。
んでもって/etc/fstabを編集して下記の一行を追加。
UUID=3649edf2-4663-43ea-93e8-95834067cefc swap swap defaults 0 0
最後に/etc/fstabに書いたswapを有効にすべく下記コマンド実行。
swapon -a
で、実行した内容がちゃんと反映されているか確認。
swapon -s Filename Type Size Used Priority /dev/sdb1 partition 4193276 0 -1
これでOK!4GB分のスワップを作っても料金表をみると月額上限金額が20円/GBなので、80円。このくらいなら全然問題なし!
コメント
コメント一覧 (3件)
[…] いなばのメモ IDCFクラウドのCentOS7でSwapを使うhttp://210.129.9.93/2015/05/idcfcloud-swap/標準ではスワップ領域を持たない、IDCFクラウドの最小構成の環境で、別ボリュームをスワップとし […]
[…] いなばのメモ IDCFクラウドのCentOS7でSwapを使うhttp://210.129.9.93/2015/05/idcfcloud-swap/標準ではスワップ領域を持たない、IDCFクラウドの最小構成の環境で、別ボリュームをスワップとし […]
[…] いなばのメモ 1 userIDCFクラウドのCentOS7でSwapを使うhttp://210.129.9.93/2015/05/idcfcloud-swap/標準ではスワップ領域を持たない、IDCFクラウドの最小構成の環境で、別ボリュームをスワ […]