2012-12-31

Torque の設定

計算機資源の管理ツール Torque のインストールと設定方法をまとめる. 使用したバージョンは, 4.2.0 である. EL 6, 5 の混在した環境である. バージョンアップが早いので, web で設定方法を調べる場合には, メジャーバージョンが同じものかに注意する必要がある. 古いバージョンでは, 設定方法が異なる場合がある.

使用構成

Torque は, 1つのファイルサーバと複数の計算機とから構成されるシステムにおいて使用することができる. (他の構成では不可能なわけではない.)

Torque 自体は, ヘッドノードと計算ノードとから構成される. 通常は, 1つのヘッドノードと いくつかの計算ノードとから構成される. 1つのマシンにてヘッドノードと計算ノード両方を兼ねることもできる. 以下では, ヘッドノードのホスト名を headnode, 計算ノードのホスト名を node01, node02... として表す.

ビルド

rpmbuild にて, 以下の RPM を作成した. (その他, el5 の RPM も作成する.)
torque-4.2.0-1.el6.x86_64.rpm
torque-client-4.2.0-1.el6.x86_64.rpm
torque-debuginfo-4.2.0-1.el6.x86_64.rpm
torque-devel-4.2.0-1.el6.x86_64.rpm
torque-scheduler-4.2.0-1.el6.x86_64.rpm
torque-server-4.2.0-1.el6.x86_64.rpm

インストール

以下のようにして, ヘッドノードへインストールする.
headnode # rpm -Uvh torque-4.2.0-1.el6.x86_64.rpm
headnode # rpm -Uvh torque-server-4.2.0-1.el6.x86_64.rpm
headnode # rpm -Uvh torque-scheduler-4.2.0-1.el6.x86_64.rpm
headnode # rpm -Uvh torque-client-4.2.0-1.el6.x86_64.rpm
headnode # iptables -I INPUT -j ACCEPT -m tcp -p tcp --dport 15001:15005
なぜか, torque-client もインストールしないと設定できない. この時点で, pbs_server, pbs_sched, trqauthd がインストールされる. ヘッドノードで, 設定する.
headnode # service pbs_server start
headnode # qmgr
create node node01"
create node node02"
...
create queue batch
set queue batch queue_type = Execution
set queue batch resources_default.nodes = 1
set queue batch resources_default.walltime = 01:00:00
set queue batch enabled = True
set queue batch started = True
set server scheduling = True
set server default_queue = batch
このあと, pbs_server の再起動が必要かもしれない. 設定したノードの状態を確認するには以下のコマンドを使用する.
headnode $ pbsnodes -a
もし, offline と表示された場合は,
headnode $ pbsnodes -c node01
にて解除する.

計算ノードには, 以下のようにそれぞれインストール・設定する.

node01 # rpm -Uvh torque-4.2.0-1.el6.x86_64.rpm
node01 # rpm -Uvh torque-client-4.2.0-1.el6.x86_64.rpm
node01 # iptables -I INPUT -j ACCEPT -m tcp -p tcp --dport 15001:15005
node01 # cat /var/spool/torque/server_name
headnode
node01 # cat /var/spool/torque/mom_priv/config
$pbsserver headnode

2012-12-26

Fedora 17/18 におけるサスペンドの失敗

最近, Fedora 17/18 において時々サスペンドに失敗することが起こっていたのだが, もしかすると, nmi_watchdog を無効にしたことが原因かもしれない. 以下のようなファイルを作って, 様子をみてみよう.
$ cat /etc/pm/sleep.d/10nmi_watchdog 
#! /bin/sh

. "${PM_FUNCTIONS}"

case "$1" in
 hibernate|suspend)
  cat /proc/sys/kernel/nmi_watchdog > /dev/shm/nmi_watchdog.saved
  echo 1 > /proc/sys/kernel/nmi_watchdog
  ;;
 resume|thaw)
  cat /dev/shm/nmi_watchdog.saved > /proc/sys/kernel/nmi_watchdog
  ;;
esac
なお, 使用しているマシンは, Thinkpad X201s で, Fedora 17 の時も 18 にアップグレードしてからも症状は変わらない.

2013-04-03 追記
どうも, サスペンド状態にあるときに USB 接続の機器を抜くと, その後, サスペンド復帰, 再度サスペンドした時に失敗するようだ. USB の電源管理をいじったのが原因かな... カーネルのアップデートと関係があったのではなく, 携帯電話をUSB経由で充電する習慣がついたことが原因だったようだ.

2012-12-20

ICCの配置に関するコマンド

相対的な配置制約

セルとセルとの相対的な位置関係を設定できる.
set_fp_relative_location

マクロアレイ

これはどのような機能だろうか?
set_fp_macro_array

グループ

セルやモジュールを指定して, 配置位置のグループを設定できる. 2種類のグループを指定できる. hardグループでは, グループに属するセルは必ず指定した位置の中に配置される. softグループでは, グループに属するセルでも指定した位置の外に配置されることがある. グループに属さないセルは, 指定した位置の中に配置されることはない.
create_bounds -type hard
create_bounds -type soft

電源ドメイン

電源ドメインを設定すると, 配置だけでなく電源配線も分離することができる. 以下に例を示す.
create_voltage_area -coordinate {0 0 72 72} -name P1 {I0} -guard_band_x 8 -guard_band_y 8 -cycle_color
レベルシフタやバッファの挿入はどのようにされるのだろうか?

ドメイン内であれば, バッファはうまく挿入されるようである. 電源ドメインをまたぐ場合は, どのように処理されるのだろうか?

座標指定

コマンド set_attribute にて, 属性 (origin, is_placed, is_fixed, orientation) を設定する. 以下に例を示す.
set inst [get_cells I0/C0]
set_attribute $inst origin {72 144}
set_attribute $inst is_placed true
set_attribute $inst is_fixed true
set_attribute $inst orientation N
あるいは, 以下のコマンドでもできるのだろうか?
set_cell_location

2012-12-13

SPF レコードのチェック

SPF レコードの記述を間違えると,
Authentication-Results: mx.google.com; spf=permerror (google.com: domain of hoge@example.com uses a mechanism not recognized by this client. unknown  mechanisms: )) smtp.mail=hoge@example.com
というヘッダが付加されることがある. 以下のページで, 記述を検証することができる.

2012-12-05

リソース制限を設定

Linux では, ユーザ毎にリソース (プロセス, メモリ) の使用可能数を設定することができる. RHEL 6 では, /etc/security/limits.d/ に設定ファイルを書く. 例えば, ユーザ hoge だけがたくさんのプロセスを起動できるようにするには以下のように書く.
*       soft    nproc 16
hoge    soft    nproc 2048

2012-11-27

ghostscript における日本語フォントの設定

RHEL 6 (CentOS 6, Scientific Linux 6) では, /etc/ghostscript/cidfmap.ja に, 以下の行を書く. (行末の「 ;」(スペースとセミコロン) は必要.)
/IPAPMincho    << /FileType /TrueType /Path (/usr/share/fonts/ipa-pmincho/ipamp.ttf) /CSI [(Japan1) 6] >> ;
/IPAMincho     << /FileType /TrueType /Path (/usr/share/fonts/ipa-mincho/ipam.ttf) /CSI [(Japan1) 6] >> ;
/IPAGothic     << /FileType /TrueType /Path (/usr/share/fonts/ipa-gothic/ipag.ttf) /CSI [(Japan1) 6] >> ;
/VL-Gothic     << /FileType /TrueType /Path (/usr/share/fonts/vlgothic/VL-PGothic-Regular.ttf) /CSI [(Japan1) 6] >> ;
/VL-Gothic-Regular      /VL-Gothic ;
/VL-Gothic-JaH  << /FileType /TrueType /Path (/usr/share/fonts/vlgothic/VL-PGothic-Regular.ttf) /CSI [(Japan1) 6] >> ;
/VL-Gothic-Regular-JaH          /VL-Gothic-JaH ;
/Ryumin-Light   /IPAMincho ;
/Adobe-Japan1   /IPAGothic ;
/Adobe-Japan2   /VL-Gothic-JaH ;
/GothicBBB-Medium /IPAGothic ;
/GothicBBB-Medium-H /IPAGothic ;
/usr/share/ghostscript/8.70/Resource/Init/cidfmap には以下の記述があり, cidfmap.ja というファイルに日本語の設定を記述するべきであることがうかがえる.
%!
% Don't change following line. We should ensure that the original one is surely loaded.
(cidfmap.GS) .runlibfile
% following lines are for CJK fonts.
(cidfmap.ja) .runlibfileifexists
(cidfmap.ko) .runlibfileifexists
(cidfmap.zh_CN) .runlibfileifexists
(cidfmap.zh_TW) .runlibfileifexists
% must be at the bottom of line to allow people overriding everything.
(cidfmap.local) .runlibfileifexists

作成した PDF にどのようなフォントが使われているか・埋め込まれているかどうかなどは, poppler-utils に含まれる pdffonts を使えば良い.

参照

2012-11-18

Windows XP で WPA2-PSK AES を使用するための確認事項

このページに色々とコメントが寄せられている. まとめると;
  • NICドライバのアップデート. 予め, スペック表に WPA2-PSK-AES が含まれているのか確認すると良いだろう.
  • KB893357 をインストールする.
  • SP2, SP3 がインストールされているか確認する. (SP2で十分との情報もあるが, 確かではない.)
  • 2012-10-20

    ディスク入出力中のプロセスを表示

    Linux 上で何らかのプロセスがディスク入出力を行なっているとき, そのプロセスを突き止める方法が書かれているページを見つけた.
    watch -n 1 "(ps aux | awk '\$8 ~ /D/  { print \$0 }')"
    この方法によってディスク入出力を頻繁に行なっている PID を突き止めることができる. どのファイルにアクセスしているかは,
    ls -l /proc/PID/fd/
    (PIDの部分はそのプロセスのPIDに置き換える) で確認できる.

    FFmpeg

    FFmpeg は, フリーの映像・音声処理ツールである. Linux 上でも使用することができるが, ビルド方法がやや特殊であるため, ここに書いておく.
    1. ソースを取得する.
      $ git clone git://source.ffmpeg.org/ffmpeg
      $ cd ffmpeg
    2. ビルドする. configure の際に, nonfree を有効にすると, フリーでない (再頒布できない) バイナリが生成される. 個人で使用する分には, nonfree が良いだろう. その他, 色々とオプションをつけておく.
      $ ./configure --enable-nonfree --enable-gpl --enable-version3 --enable-libmp3lame
      $ make
    3. インストールする. プログラムとマニュアルだけをインストールする場合は, install ではなく, install-progs ルールを使用する.
      $ sudo make install-progs

    RHELでは, 以下のパッケージを予めインストールしておく.

    • lame-devel, lame-libs, rpmfusion.
    • yasm, epel.
    • ...

    2012-10-09

    NFS4にて所有者がnobodyになる

    NFS4とLDAPとを使用していると, 稀にIDMAP (UID/GIDとユーザ名/グループ名との変換) で失敗することがある. 以下のようなログが出力される.
    nslcd[1455]: [3c9869] no available LDAP server found
    nfsidmap[1637]: nss_getpwnam: name 'hoge' not found in domain 'example.com'
    nslcd[1455]: [334873] no available LDAP server found
    このような時, 以下のコマンドでキャッシュをクリアすればよい.
    sudo nfsidmap -v -u nobody

    2012-07-19

    mozc を英語配列レイアウトで使用する

    Sawaによって提供されている Fedora の mozc は, 以前は US 配列のキーボードで使用することができた. ところが, アップデートによって, システムのレイアウトにかかわらず日本語配列に設定が上書きされてしまうようになった. これを直すには, 以下の様に /usr/share/ibus/component/mozc.xml に変更を加える.
    --- /tmp/mozc.xml 2012-07-19 23:29:58.083716090 +0900
    +++ /usr/share/ibus/component/mozc.xml 2012-07-19 23:25:29.366020706 +0900
    @@ -14,7 +14,7 @@
       <language>ja</language>
       <icon>/usr/share/ibus-mozc/product_icon.png</icon>
       <symbol>&#x3042;</symbol>
    -  <layout>jp</layout>
    +  <layout>default</layout>
       <name>mozc-jp</name>
       <hotkeys>Control+space,Zenkaku_Hankaku</hotkeys>
       <longname>Mozc</longname>
    
    

    2012-07-18

    Milkyway がキー入力を受け付けない

    Synopsys Milkyway がキー入力を受け付けないことがある. この時には, 環境変数 XMODIFIERS が設定されていないか確認する. もし設定されていたら, 以下のように XMODIFIERS を消す.
    $ export -u XMODIFIERS # Borne shell
    % unsetenv XMODIFIERS # C shell
    

    2012-07-10

    error while loading shared libraries というエラーが出た時

    必要な共有オブジェクトが不足していると, 以下のようなエラーがでる.
    error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file or directory

    この場合, yum providesで探すことができる. まず, どのような名前の共有オブジェクトを探しているかを確認し, 以下のコマンドにより検索する.

    $ sudo yum provides '*/libXXX.so.X'
    これにより, この共有オブジェクトを提供しているパッケージ名が表示される.

    もしホストが x86_64 で実行しているバイナリが32ビットのものである場合は, i586, i686 などのサフィックスのつくパッケージをインストールすると良い.

    2012-06-14

    共有オブジェクトのアップデート

    ライブラリがアップデートされた際には, そのライブラリに含まれる共有オブジェクトを使用しているサービスを再起動する必要がある.

    削除された共有オブジェクトを使用しているプロセスを探す

    以下のコマンドにより, アップデートなどによって削除された共有オブジェクトを依然としてリンクしているプロセスのPIDを探すことができる.
    sudo grep '\.so.*deleted' /proc/*/maps
    
    同時にコマンド名を調べる時は,
    sudo grep '\.so.*deleted' /proc/*/maps | cut -f3 -d/ | uniq | xargs ps
    

    再起動

    再起動するべきプロセスが見つかったら, service コマンドにより再起動を行えば良い.

    2012-06-12

    convert コマンドで白黒の反転

    ImageMagick にて, 白と黒とを反転させる方法. 色相はそのままにする. CADツールの画面は黒背景が多いが, 資料などに印刷する場合は, 白背景としたほうがわかりやすい. しかし, 単にカラーカーブを反転しただけでは, 色相が反転してしまうので, わかりにくくなる. (例えば, 緑はXXといった覚え方をしていると, 色相が変わってわからなくなる.)
    convert input.png -recolor '0.33 -0.67 -0.67 0   -0.67 0.33 -0.67 0  -0.67 -0.67 0.33 0   1 1 1 1' output.png
    

    追記: 色相の変換を間違っていたので, 修正. 以下の行列が単位行列となるように, a, b, c を決める (b:-1/3; a:2/3; c:0). これを色相反転とした.

    matrix([b, a, a, c], [a, b, a, c], [a, a, b, c], [0, 0, 0, 1])^^2
    
    そして, 色相反転とカラーカーブ反転 matrix([-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [1, 1, 1, 1]) をかけることで, 上記の行列を導出.
    色相反転は, 正確には, HSV空間上で行うべきだが, そのためには非線型な操作が必要なので, 上記の様に線型な操作にした. この方法では, ややくろみがかるようなきがする.

    2012-06-07

    xorg.conf でキーボード配列を設定

    X の設定ファイル xorg.conf にて, キーボード配列を設定する方法. RHEL 5 (CentOS 5) の頃の設定である.

    RHEL 6 でも有効であるが, xorg.conf が通常は存在しない. カーネルパラメータ KEYTABLE から設定するようである.

    日本語配列キー

    Section "InputDevice"
        Identifier "Keyboard0"
        Driver     "kbd"
        Option     "XkbLayout" "jp"
        Option     "XkbModel" "jp106"
    EndSection
    

    英語配列キー

    英語配列がデフォルトであるので, Option の2行は書く必要はないと思われる.
    Section "InputDevice"
        Identifier "Keyboard0"
        Driver     "kbd"
        Option     "XkbLayout" "us"
        Option     "XkbModel" "pc101"
    EndSection
    

    その他

    以下のオプションがある.
        Option     "XkbModel" "pc102"
        Option     "XkbModel" "pc105"
        Option     "XkbLayout" "de"
        Option     "XkbOptions" "ctrl:swapcaps"
    

    2012-05-25

    Linux にて Wake on LAN を有効にする方法

    P5Kというマザーボードには, Attansic TechnologyのL1というEthernet controllerが載っているのですが、Wake on LAN(WOL)にはソフトウェアから設定をしなければならないようです. ethtoolというツールを使ってWOLを有効にする設定をするということまでわかったのですが, フォーラムによると, Vine Linux 4.2のkernel 2.6.16ではWOLに対応していなくて, kernel 2.6.27から修正されるそうです. それを修正するのは面倒そうなので, Venderのドライバを使ってみることにしました.
    1. ATL1ドライバのページからVender Versionのドライバをダウンロードしてインストール このとき, カーネルに付属のモジュール atl1.ko を上書きするようなので、念のためにバックアップしておきました.
    2. # ethtool -s eth0 wol pg
    確認した後, /etc/rc.local などに「ethtool -s eth0 wol pg」を追加しておきましょう.

    2012-05-19

    HSPICEでMOSFETの拡散面積・拡散周囲長を自動で計算する方法

    HDIF というパラメータを設定すると, 自動で AS, AD, PS, PD が計算される. W を変えて特性をシミュレーションする場合, AD, PD を毎回設定するのは面倒である. このような場合に, HDIFをモデルファイル中に設定しておくことで, 自動で計算される.
    AS = AD = HDIF x W
    PS = PD = HDIF x 2 + W x 2
    
    ゲートから拡散の端までの最小距離を入れておくとよい. 例:
    .model n.1 nmos
    + level = 53
    ...
    + hdif = 1.5e-7
    

    参考

  • 集積回路の設計
  • 2012-05-16

    gnome-terminal のカーソル点滅

    先日 Fedora 15 から 16 にアップデートしたところ, Gnome-terminal でカーソルの点滅の振る舞いが変わってしまった. これまでは入力中は常に表示, 通常時は点滅だったのに, 常に点滅し続けるようになってしまった. これだと, カーソルを左右に移動するときにどこにいるのかわからなくなってしまう. どうも, Gnome-terminal のカーソル点滅の設定が Gnome 全体の設定に移行してしまったようだ. /apps/gnome-terminal/profiles/Default/cursor_blink_mode に on を設定すれば良いようだ.

    2012-05-15

    低消費電力サーバ

    サーバマシン, とくに, 家庭, SOHO でのサーバは小規模なものであり, 高パフォーマンスが要求されない用途 (メール, ゲートウェイ, ウェブなど) も多数ある. このような場合には, ノートPCを使用することも有力な選択肢である. 以下に挙げる利点がある.
    • 低消費電力
    • バッテリ付き (UPSを購入する必要がない)

    ラップトップモード

    ラップトップモードの設定
    echo 5 > /proc/sys/vm/laptop_mode
    

    CPU周波数

    CPU周波数を最小にする. (1000000の部分は /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies の中の最小値を選択.)
    modprobe acpi_cpufreq
    for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq ; do
        echo 1000000 >$i
    done
    

    HDD

    HDDの書き込みをまとめる (HDDが省電力状態に入りやすくなる)
    echo 2500 > /proc/sys/vm/dirty_writeback_centisecs
    
    SCSI/SATAの電力管理を省電力優先にする.
    for i in /sys/class/scsi_host/host*/link_power_management_policy; do
     echo min_power >$i
    done
    

    バッテリ

    Thinkpad であれば, バッテリの充電開始・充電終了の基準を設定. 深い充電・放電を行うと, 寿命が縮むと言われている.
    modprobe tp_smapi
    echo 50 >/sys/devices/platform/smapi/BAT0/start_charge_thresh
    echo 80 >/sys/devices/platform/smapi/BAT0/stop_charge_thresh
    

    参考

    Livedoor IRCサーバからの接続

    最近になって, Livedoor のサーバから私の管理する httpd へ何度か要求がきた.
    125.6.255.10 - - [**/***/****:**:**:** +0900] "CONNECT 125.6.255.10:6667 HTTP/1.0" 405 325 "-" "-"
    IRCの通信を通すことができるオープンなプロキシを探しているようだ. 私の管理するサーバでは当然のことながら拒否する.

    125.6.255.10irc.livedoor.ne.jp.と逆引きされる. Livedoor の発表からもわかるように, IRCサービスを提供しているサーバである.

    2012-05-05

    Linux による IPv6 パケットのルーティング

    Linux で IPv6-in-IPv4 を設定し, ルータとして使用する方法をまとめる. ここでは, Redhat EL 6 を例にして説明する. Hurricane Electric では, /64 セグメントと /48 セグメントを割り当ててトンネリングするサービスを無料で提供している. このサービスで IPv6 アドレスを取得して, Linux マシンをルータとして使用する.

    構成

    ホスト Host1, Host2 があり, Host1 はインターネットに接続されており, Host1-Host2 間は LAN で接続されている. Host1 のインターネット側のデバイスは eth1, LAN 側のデバイスは eth0 と割り当てている.

    トンネリングの設定

    まずは, Host1 で IPv6-in-IPv4 の設定を行う. Hurricane Electric で /64 アドレスを取得すると, 丁寧に設定方法を教えてもらえる.
    ifconfig sit0 up
    ifconfig sit0 inet6 tunnel ::xx.xx.xx.xx
    ifconfig sit1 up
    ifconfig sit1 inet6 add 20xx:xxxx:xxxx:xxxx::2/64
    ip route add ::/0 dev sit1
    
    少し設定方法を変えてしまったが, これで設定が完了. ping6 で接続されているか確認する.
    ping6 www.kame.net
    この設定をパーマネントに反映させる方法はまだ調べていない.

    アドバータイズの設定

    yum install radvd
    cat >/etc/radvd.conf <<EOF interface eth0 { AdvSendAdvert on; prefix 20yy:yyyy:yyyy:1::1/64 { AdvOnLink on; AdvAutonomous on; }; }; EOF ifconfig eth0 add 20yy:yyyy:yyyy:1::1/64 service radvd start
    20yy:yyyy:yyyy:1::1 の部分には, /48 セグメントの中の /64 セグメントを選んで設定する.

    パケットフォワーディングの設定

    sudo tee /proc/sys/net/ipv6/conf/all/forwarding <<<1
    ip6tables -I FORWARD 1 -p tcp -j ACCEPT -m state --state ESTABLISHED,RELATED # 確立された tcp パケットを許可
    ip6tables -I FORWARD 2 -j ACCEPT -i eth0 -o sit1 -p tcp -m tcp --dport http # http ポートへの接続を許可
    # ip6tables -I FORWARD 3 -j ACCEPT -i eth0 -o sit1 # LAN からインターネットへの全てのパケットを許可 (設定してもよい)
    # ip6tables -I FORWARD 4 -j ACCEPT -o eth0 -i sit1 # インターネットから LAN への全てのパケットを許可 (設定するべきでない)
    

    2012-04-24

    2012-03-26

    SPモードでConnectBotのSSHセッションが切断される

    最近, MoperaUからSPモードに変更したところ, connectbot の接続がすぐに切断されてしまう. SPモードのNATが原因だろうと予想していたものの, 同じ現象を見つけている人がいたようです. spmode.ne.jpは、キライ! この方はMoperaUに変更してしまったようです.

    私は, /etc/ssh/sshd_config に以下の行を追加しました.

    ClientAliveInterval 48
    この方法でもひとまず問題を回避できました.

    2012-03-17

    Thinkpad のハードディスクのクリック音

    Thinkpad に Linux をインストールして使用していると, 1分毎にハードディスクからクリック音が聞こえる. このクリック音と共に SMART の Load_Cycle_Count が増加してゆく.
    193 Load_Cycle_Count        0x0012   001   001   000    Old_age   Always       -       1365961

    1分毎に聞こえるのは cron などが1分毎に動作してハードディスクへアクセスするためと思われる. ハードディスクの電力管理の設定を変更することで, クリック音を無くすことができる. このサイトに説明されている. まず, hdparm で現在の設定を確認してみると, 128が設定されていた.

    $ sudo hdparm -B /dev/sda 
    
    /dev/sda:
     APM_level = 128
    
    これを254または255へ変更する.
    $ sudo hdparm -B 254 /dev/sda 
    
    /dev/sda:
     setting Advanced Power Management level to 0xfe (254)
     APM_level = 254
    


    2012-01-28

    RHEL6上での FreeWnn ビルドエラー

    Redhat Enterprise Linux 6 では, FreeWnn のビルドに失敗する. 出力されるエラーは以下の通り.
    make[3]: Entering directory `/tmp/FreeWnn-1.1.1-a021/Wnn/pubdicplus'
    gcc -E -DKANSAI fzk.master-.c | egrep -v '^(# |#line |#pragma |$)' | ../..//Wnn/jutil/atof -h ../..//Wnn/jd/hinsi.data std.fzk
    Bad format near line 473 "".
    '/' and definition of fuzokugo is expected.
    make[3]: *** [std.fzk] Error 1
    
    EL5 では問題なくビルドできる. fzk.master-.c はいくつかのインクルードによって構成されており, GCC によって接続する仕組みになっている. 一方で, 最近の gcc -E は, 途中の空白で改行を入れるようになった. -traditional を追加すると, ビルドできるようになった.

    2012-01-03

    Core i7 においてタイマー割込が起こらなくなる

    Scientific Linux 6.0 を使用し始めてから, ときどき動作が遅くなることがあった. CentOS 5.6 を使用していた時は問題なかったのだが. キーを押してから画面に表示されるまで 500 ms くらいかかる. ログにはとくに目立った情報が出てこない. 6.0 から 6.1 にアップデートしても, 改善されない. irqbalance を起動しないようにする (chkconfig irqbalance off) と, 頻度がやや下がる.

    watch -d cat /proc/interruptsで割込を見ていた所, IR-IO-APIC-edge timer 割込が停止することが分かった. 私は Scientific Linux 6 + Core i7 960 + nVidia GTX 260 を使用していてこの現象に遭遇したのだが, Ubuntu 10.10 + Core i7 930 + nVidia GTX 460 でも起こっているようだ. なお, 私の手元の別のマシン Scientific Linux 6 + Xeon X5260 は正常に動作している.

    kernel が 2.6.32-131.21.1.el6.x86_64 から 2.6.32-220.2.1.el6.x86_64 にアップデートされたので, しばらく様子をみてみよう...

    追記 (2013-08-14)
    最近は問題なく使用できている.