Archive for the 'Linux' Category

3月 11 2016

Linuxのパフォーマンスモニタ用コマンド

Published by under

いつのまにかインフラエンジニアとかいう職種になったおいら。
やる人いないから頑張ってやってただけでまだまだ素人に毛が生えた程度。
なのに、ボトルネック調査的な依頼が続いたのでお勉強中。

簡単にその手の情報収集するのにZabbix入れて云々もやってみたかったけど、
ちと敷居が高そうだったのでそれっぽいコマンドを検索(vmstat、free)。
[[http://sebastien.godard.pagesperso-orange.fr/documentation.html|sysstat]]パッケージを導入により使えるようになるコマンド(mpstat、iostat、sar他)を中心にメモ。

コマンド vmstat
概要 メモリーやCPUの負荷率や使用状況を表示。マルチコアの場合は平均化される。
詳細 リファレンス
実行例 # vmstat 1
 
コマンド mpstat
概要 CPUの負荷率や使用状況を表示。マルチコア対応。
詳細 オプション等 見方
実行例 # mpstat -P ALL 2 3 (2秒毎に3回出力)
 
コマンド iostat
概要 ストレージへのアクセス状況を表示。あくまでローカルHDDが対象っぽい。
詳細 オプション等 見方
実行例 # iostat -dmxt 1
 
コマンド free
概要 メモリーの使用状況を表示する。
詳細 リファレンス
実行例 # free -m
 
コマンド sar
概要 メモリーやCPUの負荷率や使用状況を表示。マルチコアの場合は平均化される。
詳細 解説記事

その他、良いツールがあれば情報求ム。

No responses yet

9月 05 2011

__FILE__と$0

Published by under タグ:

こんな風に使える。

puts “filename: #{__FILE__}

似たようなのに $0 がある。
しかし $0 と __FILE__ は似て非なるもの。
__FILE__ が実行中のプログラムのファイル名を表すのに対し、
$0 は実行するときに指定したプログラムのファイル名を表す。

> ruby hoge.rb

のように実行するプログラムが1つの場合は、__FILE__ と $0 の値は一致する。
しかし、別のプログラムから require したときは、__FILE__ と $0 は一致しない。

この特徴を利用して、__FILE__ と $0 はライブラリのサンプルコードによく利用される。
例えば以下のようにして書けば、ライブラリとして利用されるとき(require されて使われるとき)は
サンプルコードの部分は実行されない。

if __FILE__ == $0
# サンプルコード
end

No responses yet

7月 26 2010

emacs設定がらみ(.Xdefaults or .Xresouces)

Published by under タグ: , , ,

リモートで作業しようとしたとき,
手元のubuntuからfedora8につないでemacs立ち上げると失敗.
フォントがないと怒られる.なぜに???
フォントまわりでトラブル起こすのが一番面倒というか
一番理解出来てない部分なので極力カスタムせずにいたのに...
で,どうもubuntu側で見やすいフォントが設定されてるんだけど
それがfedora側にないフォントでこけてる模様.
とりあえずそこのフォント指定を外してみる.
で,.Xdefaults と .Xresoucesを軽くお勉強.
両者の違いはこちらを参照.ちょっと抜粋.

リモートでアプリケーションを立ち上げるときに .Xdefaults はアプリケーションを実行するホストのものが参照されます。一方、.Xresources はxrdb を実行するホストのものが参照されるます。よって、同じ画面に表示させるときは、違うホストで実行しても同じ設定になります。また、同じホストで実行しても違う画面に表示させるときに違う設定が使えます。

ってことなので,無理なく各接続先の設定を使うには,.Xdefaultsを設定ってことかな.
で,どちらを設定したにしろ,

xrdb -merge ~/.Xdefaults or ~/.Xresources

ってする.詳細は...もうおなかいっぱい.とりあえずOKなようなので今回はここまで.

No responses yet

5月 11 2010

emacsでのファイルのリロード

Published by under タグ: , ,

普段、Winの環境に慣れてるとこういうのがサクッとサポートされてないと戸惑う。
おそらく全てをemacs上で賄ってしまえる人は問題ないのだろうけど。。。

本題。

emacsでファイルを開いた状態で、外部エディタ等でファイルを編集した場合、
一度 kill-buffer してから 開き直したり, revert-buffer を利用する必要がある.
これでは面倒だし,それまでの変更を取り消すことができなくなってしまって困る。
ので、以下のような設定をしておくと便利だそうな。

(defun reopen-file ()
  (interactive)
  (let ((file-name (buffer-file-name))
        (old-supersession-threat
         (symbol-function 'ask-user-about-supersession-threat))
        (point (point)))
    (when file-name
      (fset 'ask-user-about-supersession-threat (lambda (fn)))
      (unwind-protect
          (progn
            (erase-buffer)
            (insert-file file-name)
            (set-visited-file-modtime)
            (goto-char point))
        (fset 'ask-user-about-supersession-threat
              old-supersession-threat)))))
 
(define-key ctl-x-map "C-r"  'reopen-file)

これで、C-x C-r でファイルを開き直すことができ、アンドゥで元に戻すこともできる。
何をしてるかというと、
バッファの内容を消して (erase-buffer) ファイルを挿入 (insert-file) しているんだそうな。

No responses yet

5月 11 2010

LAPACK, ATLAS, CBLASの使い方?

Published by under タグ: , , ,

はせあさんからもらったプログラム(for Fedora8)をUbuntu(10.04-amd64)で動かそうとしてすこはまり。
そもそもこれらが何するものかもよく知らないのに手を出したのが失敗のもとか。。。

  • インストール
    • synapticでatlasでフィルターしてlibatlas、libcblas あたりを追加した
      • でも、実は標準で入ってたのかも???
    • Fedoraも標準インストールなら入るらしいのだが、共有マシンは最小構成なため利用不可みたい
  • ヘッダーのinclude
    • 頂いたファイルでは<atlas /cblas.h>となっていたのを<cblas .h>に変更
      • これが無いと、cblas_?の関数への引数が解決されない。
  • compile
   # もともと教えてもらったのは
   gcc [filename] /usr/lib/atlas/libcblas.a /usr/lib/atlas/libatlas.a -lm
   # 諸々の変更に伴い次のようになった。(というか、これでようやくうまくいった)
   gcc [filename] -llapack -lf77blas -lcblas -latlas -lm

ここに至るまでどんだけ時間が。。。
その他の詳しい情報は、こちらを参照(相当詳しい説明)
</cblas></atlas

No responses yet

2月 01 2010

emacs:キーアサインメモ

Published by under タグ:

バッファの中の移動

C-p 1 行上に移動
C-n 1 行下に移動
C-f 1 文字前に移動
C-b 1 文字後に移動
C-a 行の先頭に移動
C-e 行の末尾に移動
C-v 1 画面下に移動
M-v 1 画面上に移動
M-f 1 単語前に移動
M-b 1 単語後に移動
M-< バッファの先頭に移動
M→ バッファの末尾に移動
C-g 現在の操作を終了

基本的なコマンド

C-x C-s save-buffer 現在のバッファをディスクに保存する。
C-x u undo 最後の操作を取り消す。
C-c C-f find-file ディスクからファイルを開く。
C-s isearch-forward 文字列を前方検索する。
C-r isearch-backward 文字列を後方検索する。
M-% replace-string 文字列の検索と置換を行う。
C-M-% replace-regexp 正規表現を使って、検索と置換を行う。
C-h t help-with-tutorial インタラクティブなチュートリアルを使う。
C-h f describe-function 関数のヘルプを表示する。
C-h v describe-variable 変数のヘルプを表示する。
C-h x describe-key キー入力が何をするものであるか表示する。
C-h a apropos 文字列/正規表現のヘルプを検索する。
C-h F view-emacs-FAQ Emacs の FAQ を表示する。
C-h i info Emacs の文書を読む。
C-x r m bookmark-set ブックマークを設定する。検索に役立つ。
C-x r b bookmark-jump ブックマークに移動する。

No responses yet

2月 01 2010

emaca:anthy.el から Anthy を使う

Published by under タグ: , ,

===== 準備 (~/.emacs) =====

・基本

~/.emacs に以下のコードを追加します。

; 日本語をデフォルトにする。
(set-language-environment “Japanese”)
; anthy.el をロードできるようにする (必要に応じて)。
(push “/usr/local/share/emacs/site-lisp/anthy/” load-path)
; anthy.el をロードする。
(load-library “anthy”)
; japanese-anthy をデフォルトの input-method にする。(*)
(setq default-input-method “japanese-anthy”)

実際には、*の行だけでオッケーっぽい←ただの勘違い。。。

・カスタマイズ

; ひらがなの map を変更する (個別指定)。
(anthy-change-hiragana-map “,” “、”)
; ひらがなの map を変更する (半角の “.” “,” を全角の “.” “,” に割り当てる)。
(anthy-load-hiragana-map anthy-alt-char-map)
;; かな漢字変換入力モードでSpaceを押したとき、半角空白が挿入されるようにする。
(setq anthy-wide-space ” “)

キー割り当て

一般

起動 C-
変換開始 C-n,C-p,Space
変換確定 C-j,C-m,Enter
変換候補のスクロール C-n,C-p,Space
変換キャンセル C-g,C-h,Backspace

モード変更

操作前のモード キー操作 操作後のモード
かな漢字変換 q カタカナ固定
かな漢字変換 l 半角英数固定
かな漢字変換 L 全角英数固定
カタカナ固定 q かな漢字変換
カタカナ固定 l 半角英数固定
カタカナ固定 L 全角英数固定
半角英数固定 C-j かな漢字変換
全角英数固定 C-j かな漢字変換

'/' を押すと、かな漢字変換入力モードやカタカナ固定入力モードで入力中でも、再度 '/' を押すまで半角英数字を入力できます。/ を 2 回押すことで / 自体も入力できます。

文節移動

C-f,Right ひとつ先の文節に進みます。
C-b,Left ひとつ前の文節に戻ります。
C-a 一番最初の文節に移動します。
C-e 一番最後の文節に移動します。
C-o,Shift-Right カーソル位置の文節が 1 文字長くなります。
C-i,Shift-Left カーソル位置の文節が 1 文字短くなります。

No responses yet

2月 01 2010

andlinux:TeX環境の構築

Published by under タグ: , ,

EUCベースのTeX環境がサクッと構築できる。UTF-8は現時点では時期尚早っぽい。。。
基本はubuntuなのでubuntu.jpのページを参考にサクッと出来る。

参考:UbuntuJP

1. latex-env-jaのインストール

sudo apt-get install latex-env-ja

  • texlive, texlive-math-extra, ptex-bin, xdvik-jaがインストールされる。
  • これで日本語TeXファイル(EUC-JP)をDVIファイルにし、それを表示するために必要なパッケージは全てインストールされる。
  • 2. latex-extra-jaのインストール

    sudo apt-get install latex-extra-ja

  • latex-env-ja, dvipsk-ja, dvipdfmx, cmap-adobe-japan1, okumura-clsfiles, jmpost, jbibtex-bin, mendexkがインストールされる。
  • これで日本語DVIファイルをPDFやPSファイルに変換できる。
  • 3. 新クラスファイルへの対応

    sudo jisftconfig add

  • 新クラスファイルを使う場合はこれを実行する必要がある。日本語版セットアップ・ヘルパを使えば自動で実行してくれる。詳しいことはこちら。
  • 4. xdviのフォント設定

  • 新クラスファイルで生成したDVIファイルを、Defomaで管理するフォント(例えばIPAモナーフォント)で表示するために必要。
  • 5.ghostscript-xの追加(nori追加)

  • 上記までだとこれがインストールされておらず、xdviで図が表示されない。追加するだけで解決。
  • 1.xdvi-search.elを適切な場所にコピー

  • /usr/local/share/emacs/site-lisp/ あたりが適当でしょうか。
  • 2.~/.emacs.el を編集

    ;;; latexオプションの追加
    (setq tex-command “platex –src-specials”)
    ;;; TeX src-special のための設定
    (server-start) ; 必須
    (require ‘xdvi-search) ; 必須
    (custom-set-variables
    ‘(server-switch-hook (quote (raise-frame)))) ; 窓を上に
    (custom-set-faces)
    ;;; YaTeXにキーバインド追加 (注:なぜかこれがうまくいかない。。。)
    (add-hook ‘yatex-mode-hook
    ‘(lambda ()
    (define-key YaTeX-mode-map “C-cC-j” ‘xdvi-jump-to-line)))

    3.xdvi側の設定

    ~/.Xresources (無ければ作る)に以下を追記

    XDvi*editor: emacsclient –no-wait +%l %f

    で、以下を実行

    xrdb -merge ~/.Xresources

    4.試してみる

  • xdvi上で、Ctrl + 左クリック でTeXのソースの該当パラグラフへカーソルが移動
  • C-c,C-jでTeXソースからxdviの当該パラグラフが表示される (はずなんだけど、うまくいかない。。。)
  • No responses yet

    2月 01 2010

    linux:フォワーディングの設定

    Published by under タグ: ,

    参考:Linuxのゲートウェイ設定を有効にする

    ・IPフォワーディング状態の確認

    # cat /proc/sys/net/ipv4/ip_forward
    # 0: フォワーディングなし 1: あり
    0

    ・IPフォワーディングを有効にする
    # echo 1 > /proc/sys/net/ipv4/ip_forward

    /etc/sysconfig/network

    FORWARD_IPV4=”yes”

    /etc/sysctl.conf

    net.ipv4.ip_forward = 1

    No responses yet

    2月 01 2010

    linux:キーボードのキーアサインの変更

    Published by under タグ: ,

    CapsLockとCtrlの入換方法のメモ。
    やりたいことはGUIからも可能だけど念のため。

    = KDEの場合 =

    • コントロールセンター > 地域およびアクセス補助 > キーボードレイアウト の設定でOK
    • i-Switch(切替器)使うとこれだけじゃ動作が変。コンソール側の設定も変更が必要

    # cd /lib/kbd/keymap/i386/qwerty

    # cp jp106.kmap.gz ip106.map.gz.orig
    # gzip -d jp106.map.gz
    # vi jp106.map
    keycode 29 = Control -> Caps_Lock
    keycode 58 = Caps_Lock -> Control
    # gzip jp106.map

    要再起動かな? → 他に方法はあるっぽいけど調べるの面倒なので。。。

    No responses yet