トップ «前の日記(2014-06-25) 最新 次の日記(2014-07-11)» 編集

Days of Speed

過ぎゆく日々を書こう。忘れっぽい未来の自分のために


2014-06-26

_ このサーバーのレスポンスが遅い

このサーバー、結構ガタがきてて次の入れ替えマシンもあるのだけれど、いかんせん時間がなくて先送りにしております。でも、そろそろ本当に入れ替えないとダメかな。

Tags: nofuture

_ Zramを有効にして少ないメモリを乗り切ろう

「メモリが少なくて困る」というならメモリ買ったりマシン買ったりすればいいのですが、そうもできない事情もあります。そんなときはZramで乗り切りましょう。 ということでDebian WheezyでZramを有効にする設定です。内容は、Debian Wikiそのままです。

まず、geditなど適当なエディタに下のZram組み込みスクリプトをコピペして、zramという名前で保存します。

### BEGIN INIT INFO
# Provides:          zram
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     S
# Default-Stop:      0 1 6
# Short-Description: Use compressed RAM as in-memory swap
# Description:       Use compressed RAM as in-memory swap
### END INIT INFO

# Author: Antonio Galea <antonio.galea@gmail.com>
# Thanks to Przemysław Tomczyk for suggesting swapoff parallelization

FRACTION=75

MEMORY=`perl -ne'/^MemTotal:\s+(\d+)/ && print $1*1024;' < /proc/meminfo`
CPUS=`grep -c processor /proc/cpuinfo`
SIZE=$(( MEMORY * FRACTION / 100 / CPUS ))

case "$1" in
  "start")
    param=`modinfo zram|grep num_devices|cut -f2 -d:|tr -d ' '`
    modprobe zram $param=$CPUS
    for n in `seq $CPUS`; do
      i=$((n - 1))
      echo $SIZE > /sys/block/zram$i/disksize
      mkswap /dev/zram$i
      swapon /dev/zram$i -p 10
    done
    ;;
  "stop")
    for n in `seq $CPUS`; do
      i=$((n - 1))
      swapoff /dev/zram$i && echo "disabled disk $n of $CPUS" &
    done
    wait
    sleep .5
    modprobe -r zram
    ;;
  *)
    echo "Usage: `basename $0` (start | stop)"
    exit 1
    ;;
esac

組み込みスクリプトを/etc/init.d以下に移動して有効にします。

$ sudo cp zram /etc/init.d/
$ sudo chmod 755 /etc/init.d/zram
$ sudo /sbin/insserv zram
$ sudo /etc/init.d/zram start

こんな感じで追加されてればOKです。

$ sudo /sbin/swapon -s
Filename				Type		Size	Used	Priority
/dev/sda5                               partition	392188	0	-1
/dev/zram0                              partition	385792	0	10

メモリの割り当てを変更するならスクリプトのFRACTIONを調整するといいです。

Tags: debian

2001|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|06|08|12|
2011|01|02|03|06|07|08|09|10|11|12|
2012|01|02|03|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|12|
2014|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|10|11|12|
2017|01|02|11|12|
2018|01|02|03|04|07|09|10|

クリエイティブ・コモンズ・ライセンス Jun NOGATA を著作者とするこの 作品クリエイティブ・コモンズの 表示 - 継承 4.0 国際 ライセンスで提供されています。