東京電力(13時00分) 4262万kW / 5180万kW (82.3%) 東北電力(13時05分) 1179万kW / 1373万kW (85.9%)
中部電力(13時00分) 1971万kW / 2424万kW (81.3%) 関西電力(12時51分) 2048万kW / 2534万kW (80.8%)
九州電力(13時05分) 1054万kW / 1503万kW (70.1%)

平成24年1月14日(土曜日)友引 やぎ座

さくらのVPS FreeBSD 9.0インストール

注:イメージが、まだ、まともに流通していない時に、新たにさくらのVPS をお試し(後にそのまま契約予定)でインストールした時のメモです。
その為、インストールイメージがまともに流通すれば、まだ、ましなインストールができるかと思います。

カスタムOSインストール (2012/01/14 00:44)

とりあえず、8.1-RELEASE amd64を選択し、適当にインストールする。

バイナリでアップデートできない (2012/01/14 00:57)

以前のバージョンであれば、sysinstall のオプションで、8.?-RELEASE の所を書き換えれば、別のバイナリを指定できたが、今回、インストールイメージが変更になっているので、この手が使えない。

ついでに、使ったことがないんだが、freebsd-updateコマンドでも、8.2系のパッチバージョンが当たってしまうようなので、却下

仕方ないので、cvsからアップデート (2012/01/14 01:09)

  • csup releng-supfile
  • csup ports-supfile
  • cd /usr/src
  • make buildworld (並列実行)
  • cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/SAKURA9
  • ee /usr/src/sys/amd64/conf/SAKURA9*1
  • make buildkernel KERNCONF=GENERIC (並列実行)
  • make buildkernel KERNCONF=SAKURA9 (並列実行)

カーネルコンフィグが間違っていることに気付く (2012/01/14 01:46)

  • ee /usr/src/sys/amd64/conf/SAKURA9
  • make buildkernel KERNCONF=SAKURA9 (並列実行)

GENERICカーネル作成完了 (2012/01/14 02:05)

ここで、まだ何もしない

カスタムカーネル作成完了 (2012/01/14 02:54)

ここでもまだ何もしない

make buildworld 完了 (2012/01/14 04:04)

DNSいじっていたので、Javaコンソールが切れていた

make installkernel KERNCONF=GENERIC~make installworld (2012/01/14 04:10)

1つのカーネルで、/boot がディスク満タンになるので、古いカーネルを削除

mergemaster -UPi 開始 (2012/01/14 04:22)

rootパスワードを保持する為、/etc/master.passwdだけ手動で書き換えた

reboot (2012/01/14 04:27)

sakuravps.jpg

設定しなおしたカーネルのインストール~reboot (2012/01/14 04:30)

容量が空いたので、再コンパイルしたGENERICも入れておく

起動しない! (2012/01/14 04:37)

エスケープして
unload
load /boot/kernel.org/kernel
boot

数回再起動したが、だめだったので、カーネルをおとなしくつくりなおす。

動いていた? (2012/01/14 04:48)

device sc
がコメントアウトされていたのを気づかず、コメントを外して、カーネル再コンパイル開始

また動かないが、懲りずに設定 (2012/01/14 05:38)

sjon.jpg

実際には、mountrootがハグるだけなで、ジャーナリングだけ生かせてきた

というわけで、必要っぽいports をインストール

再起動 (2012/01/14 08:10)

でも、カーネルがうまくいかない。カーネル設定ファイルを元に戻せばいけるんだが。。。

ふとおもったこと

  • 今の全コンパイルって、途中からのやりなおしが、できないんですよね。ってか、やり方あったっけ?
  • さくらのVPS 512だと、3つ同時にCコンパイラ走らせると、スワップ行き過ぎます。汗

え?金ないのに、2台目のVPS、何に使うん?

プライマリDNSは、一応存在するが、ネットから完全に切り離し・・・・
そして、この鯖を、プライマリDNSとして、見せたてます。

そして、更に、これぐらいなら、今更ながら、無料セカンダリDNSサービスと、DDNSサービスが立ち上げられるのではないかと。東京、大阪にサーバーが分散しているので、実質 100Mbpsに回線は絞られていても、これらのサービスぐらいは十分できるでしょうから。

まさか、ディスク容量ないなら、qmail/queue をNFS化して、セカンダリメールサービスなんて・・考えてませんよ?

と思ったが、容量制限をかけてしまえば、いいのかな。。。

  • ここより
  • スクリプト序盤に、環境変数 quota=10240 (10Mの場合)
  • もしくは、.quata ファイルに書く
  • dot-qmailをこうする
    |mailquotacheck
./Maildir/
  • メール一通あたりの制限は、.maxmsgsize に書く

うん。なにせ、1台の鯖に、メールバックアップ立ち上げたとして 3Gバイトとれれば良いほうだから そうすると、1ユーザー10Mバイトと仮定して 3×1000×1000÷10×1000=300名でマンタンという計算

あ、こんなたわごと言っている訳だから、「とりあえず」は、インスト完了してます。

でも、鬼のチューニングが・・・・


今日だけで、昔取っていたドメインの復活含めて、9個ドメインとったわけだが・・・

あ、新コンテンツも立ち上げる準備はしてますよ。汗

寝坊したが・・・(2011/01/14 19:47)

実際はもっと早く起きていたわけではあるが、かなり遅くおきた。

というわけで、以下のオプションを /etc/make.conf に入れてお試し中

CPUTYPE?=core2
CFLAGS=\
        -O2 -pipe -march=${CPUTYPE} -mtune=${CPUTYPE} \
        -funroll-loops -fno-strict-aliasing
COPTFLAGS=\
        -O2 -pipe -march=${CPUTYPE} -mtune=${CPUTYPE} -msse -msse2 -msse3 \
        -fomit-frame-pointer  -funroll-loops -fno-strict-aliasing
CXXFLAGS+= -fconserve-space

gcc コンパイラのオプションとして、以下のような候補があるんだが、どうだろう?

-march=nocona
-march=core2
-march=core2 -mcx16 -msahf -mtune=core2
-march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -mtune=core2

-march=nocona -mfpmath=sse
-march=core2 -mfpmath=sse
-march=core2 -mcx16 -msahf -mtune=core2 -mfpmath=sse
-march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -mtune=core2 -mfpmath=sse

-march=nocona -mfpmath=sse,387
-march=core2 -mfpmath=sse,387
-march=core2 -mcx16 -msahf -mtune=core2 -mfpmath=sse,387
-march=nocona -march=core2 -mtune=nocona -mtune=core2 -mfpmath=sse,387

http://gcc.gnu.org/onlinedocs/

ついでに、ゆみちゃんみゆちゃんまりちゃん もほぼ同じオプションにしてみる。ただし

ゆみちゃん、みゆちゃん:CPUTYPE?=k8-sse3
まりちゃん:CPUTYPE?=pentium3

が、違うかな?

IPV6開通 (2012/01/14 21:05)

ここの記事、間違ってました。涙
さくらのVPS FreeBSDチューニング

再度、カーネルチューニング (2012/01/14 21:12)

動かなくて、あえて生かせていたオプションを無効にした。

カーネルチューニング完了で2ちゃん書き込み (2012/01/14 22:43)

再び、全コンパイルチューニング (2012/01/14 22:44)

make.confを変えてあるので、一応コンパイル通してインストールするだけだろう。

再コンパイル後のベンチ結果(準備中)

再コンパイル前(-funroll-loops 等一部最適化がかかっています)
1秒間あたりの簡易RSA演算回数 316
1秒間あたりのプロセス実行回数 19025
1秒間あたりのファイルI/O実行回数 4156
1秒間あたりの正規表現文字列置換回数 3867 

全チューニング完了&再起動後

1秒間あたりの簡易RSA演算回数 340
1秒間あたりのプロセス実行回数 25841
1秒間あたりのファイルI/O実行回数 5761
1秒間あたりの正規表現文字列置換回数 4179 

おまけ、速いほうのさくらのレンタルライト

1秒間あたりの簡易RSA演算回数 476
1秒間あたりのプロセス実行回数 12003
1秒間あたりのファイルI/O実行回数 9551
1秒間あたりの正規表現文字列置換回数 6568

おまけ、tok2プロフェッショナル

1秒間あたりの簡易RSA演算回数 247
1秒間あたりのプロセス実行回数 34227
1秒間あたりのファイルI/O実行回数 6971
1秒間あたりの正規表現文字列置換回数 3458 

ついで・・とても便利なシェルスクリプトというか、設定ファイル

bash専用でもいいんです。とても便利です。
# from: http://www.unixuser.org/~euske/doc/bashtips/cdhist.sh
###  cdhist.sh
###
###  Copyright (c) 2001 Yusuke Shinyama <yusuke at cs . nyu . edu>
###
###  Permission to use, copy, modify, distribute this software and
###  its documentation for any purpose is hereby granted, provided
###  that existing copyright notices are retained in all copies and
###  that this notice is included verbatim in any distributions. 
###  This software is provided ``AS IS'' without any express or implied
###  warranty.
###

###  WARNING: THIS SCRIPT IS FOR GNU BASH ONLY!

###  What is this?
###
###  Cdhist adds 'web-browser like history' to your bash shell.
###  Every time you change the current directory it records the directory
###  you can go back by simply typing a short command such as '-' or '+',
###  just like clicking web-browsers's 'back' button.
###  It's more convenient than using directory stacks when
###  you walk around two or three directories.
###

###  Usage
###
###  Just call this file from your .bashrc script.
###  The following commands are added.
###
###  cd [pathname]
###	Go to the given directory, or your home directory if 
###	pathname is omitted. This overrides the original command.
###	You can use it by typing '\cd'.
###
###  + [n]
###	'Forward' button. Go to the n'th posterior directory in the history.
###	Go to the next directory if the number is omitted.
###
###  - [n]
###	'Back' button. Go to the n'th prior directory in the history.
###	Go to the previous directory if the number is omitted.
###
###  = [n]
###	Show histories with directory numbers.
###
###	A directory number shows the index to the current directory 
###	in the history. The current directory always has directory number 0.
###	For prior directories, a negative number is given.
###	For posterior directories, a positive number is given.
###
###  cdhist_reset
###	Clear the cd history.
###

###  Example
###
###	/home/yusuke:$ . cdhist.sh
###	/home/yusuke:$ cd /tmp
###	/tmp:$ cd /usr/bin
###	/usr/bin:$ cd /etc
###	/etc:$ -
###	/usr/bin:$ -
###	/tmp:$ +
###	/usr/bin:$ =
###	-2 ~
###	-1 /tmp
###	 0:/usr/bin
###	 1 /etc
###	/usr/bin:$ - 2
###     /home/yusuke:$
###


CDHIST_CDQMAX=10
declare -a CDHIST_CDQ

function cdhist_reset {
  CDHIST_CDQ=("$PWD")
}

function cdhist_disp {
  echo "$*" | sed "s $HOME ~ g"
}

function cdhist_add {
  CDHIST_CDQ=("$1" "${CDHIST_CDQ[@]}")
}

function cdhist_del {
  local i=${1-0}
  if [ ${#CDHIST_CDQ[@]} -le 1 ]; then return; fi
  for ((; i<${#CDHIST_CDQ[@]}-1; i++)); do
    CDHIST_CDQ[$i]="${CDHIST_CDQ[$((i+1))]}"
  done
  unset CDHIST_CDQ[$i]
}

function cdhist_rot {
  local i q
  for ((i=0; i<$1; i++)); do
    q[$i]="${CDHIST_CDQ[$(((i+$1+$2)%$1))]}"
  done
  for ((i=0; i<$1; i++)); do
    CDHIST_CDQ[$i]="${q[$i]}"
  done
}

function cdhist_cd {
  local i f=0
  builtin cd "$@" || return 1
  for ((i=0; i<${#CDHIST_CDQ[@]}; i++)); do
    if [ "${CDHIST_CDQ[$i]}" = "$PWD" ]; then f=1; break; fi
  done
  if [ $f -eq 1 ]; then
    cdhist_rot $((i+1)) -1
  elif [ ${#CDHIST_CDQ[@]} -lt $CDHIST_CDQMAX ]; then 
    cdhist_add "$PWD"
  else
    cdhist_rot ${#CDHIST_CDQ[@]} -1
    CDHIST_CDQ[0]="$PWD"
  fi
}

function cdhist_history {
  local i d
  if [ $# -eq 0 ]; then
    for ((i=${#CDHIST_CDQ[@]}-1; 0<=i; i--)); do
      cdhist_disp " $i ${CDHIST_CDQ[$i]}"
    done
  elif [ "$1" -lt ${#CDHIST_CDQ[@]} ]; then
    d=${CDHIST_CDQ[$1]}
    if builtin cd "$d"; then
      cdhist_rot $(($1+1)) -1
    else
      cdhist_del $1
    fi
    cdhist_disp "${CDHIST_CDQ[@]}"
  fi
}

function cdhist_forward {
  cdhist_rot ${#CDHIST_CDQ[@]} -${1-1}
  if ! builtin cd "${CDHIST_CDQ[0]}"; then
    cdhist_del 0
  fi
  cdhist_disp "${CDHIST_CDQ[@]}"
}

function cdhist_back {
  cdhist_rot ${#CDHIST_CDQ[@]} ${1-1}
  if ! builtin cd "${CDHIST_CDQ[0]}"; then
    cdhist_del 0
  fi
  cdhist_disp "${CDHIST_CDQ[@]}"
}


if [ ${#CDHIST_CDQ[@]} = 0 ]; then cdhist_reset; fi


###  Aliases
###

function cd { cdhist_cd "$@"; }
function + { cdhist_forward "$@"; }
function - { cdhist_back "$@"; }
function = { cdhist_history "$@"; }

それはそうと、りそなダイレクト、面倒だな。

とりあえず、TLS1.0を無効にすれば、IEでいけるのだが、 りそなを利用するごとに、終了後、TLS1.0を有効にしなおすのも、どうだか。。。


*1 viじゃないって?以外に、ee使いやすくてはまってるなの

このホームページは、[さくらのVPS ]で動いています。
www.daiba.cx
yahoo 出会い