タグ

Linuxに関するtm8rのブックマーク (61)

  • Linux Performance Analysis and Tools

    Video: http://joyent.com/blog/linux-performance-analysis-and-tools-brendan-gregg-s-talk-at-scale-11x ; This talk for SCaLE11x covers system performance analysis methodologies and the Linux tools to support them, so that you can get the most out of your systems and solve performance issues quickly. This includes a wide variety of tools, including basics like top(1), advanced tools like perf, and ne

    Linux Performance Analysis and Tools
  • vim/vi 実用レベルのリファレンス -PG's PocketArms

    [A+B]は同時に押下。 [A・B]はAに続いてBを押下。 この例は、CTRLとwを同時に押下、CTRL-wを離してjを押下。 (但しCTRL+w・jは「j」をCTRLを押したままでもOKなようだ)

    tm8r
    tm8r 2012/11/26
  • Muninではじめる実践★リソース監視 -俺のサーバがこんなに重いはずがない、を乗り切るために-

    Practical resource monitoring with munin Munin User Group Japan http://munin.jp/ Sep 8, 2012 @ OSC1020 Tokyo/fall

    Muninではじめる実践★リソース監視 -俺のサーバがこんなに重いはずがない、を乗り切るために-
  • エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)

    1. Copyright(C) Software Research Associates, Inc. All Rights Reserved. エンジニアなら知っておきたい 「仮想マシン」のしくみ v1.1a hbstudy #17 (2010/11/26 ハロー会議室@新宿) ネットワークシステムサービス部 ネットワーク運用・構築部 長谷川 猛 (hasegaw at sra.co.jp) Twitter : @hasegaw ※資料中の解説内容は、弊社としての 統一的な見解を示すものではありません。 2. 2 自己紹介 所属所属 興味分野興味分野 株式会社SRA ネットワークシステムサービス部 ネットワーク運用・構築部 現在は提案支援業務に携わる 特にLinux や仮想化技術を得意とする、 雑系システムエンジニア 主な著書主な著書 『Xen 徹底入門』 初版、第二版(2007、

    エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
  • 原因調査用Linuxコマンド | 外道父の匠

    サーバの動作に異常が発生した際に原因を探るためのLinuxコマンドで、自分用のメモです。 全てmanとかググったら出てくるので説明は適当です。思いついたら後で追記していくかもです。 対象はDebian Squeezeになります。 全てパッケージインストールできるもので、パッケージ名は [in packagename] としてあります。 各所よりコメントありがとうございます。 良さ気なコマンドは追記していきます。 <追加したコマンド> * telnet (+コメント wget, netcat) * arp (+コメント arpwatch) * pstree * fdisk コメントに gdisk * host, dig * watch * reboot

    原因調査用Linuxコマンド | 外道父の匠
  • tarコマンドを負荷制御(bwlimit指定)して実行する方法

    cstream - direct data streams, with bandwidth limiting, FIFO, audio, duplication and extended reporting support. ざっくり言うとデータストリームの制御とかできるよ!っていうコマンドっぽいです。オーディオアプリケーションのデータレートのエミュレーションとかで利用されているそうです。オプションではcstreamコマンドの-tを使うのですが、以下がmanでの内容になります。 -t num    Limit the throughput of the data stream to num bytes/second. Limiting is done at the input side, you can rely on cstream not accepting more than thi

  • 技術メモ帳 - 単語抽出するちょっとしたテクニック

    shell のちょっとしたテクニック - odz buffer odzさんのところで単語の出現頻度を調べるためのワンライナーが紹介されている。 単語抽出についてはいくつかやり方があるので紹介する。 特に egrep -o は非常に実用的。 もちろん、この話はリンク先において主題ではない。 俺のただの自己満足。 tr -cs で単語抽出 $ tr -cs 'a-zA-Z' '\n' < ./.zshrc 上記コマンドで、a-zA-Zのみで構成される文字列を抽出できる。 -c オプションで、'a-zA-Z' の補集合(以外)を '\n' に変換し、 -s オプションで、最後の引数で指定される要素の重複を除去している。すなわち '\n' の連続を除去している。 grep -o で単語抽出 grepには、( -o、--only-matching ) オプションというのがある。 これは、指定された正

  • ロードアベレージを監視して任意のコマンドを実行する(monitで) - 酒日記 はてな支店

    他に似たツールがあれば教えて欲しいです ロードアベレージを監視して任意のコマンドを実行するコマンド - blog.nomadscafe.jp いままで使ったことはなかったのですが、monit でできるはず、と思って実験。一般的には、負荷が上がったりプロセスが応答しなくなったら再起動、のような用途に使うツールです。 # /etc/monit/monitrc check system localhost start program = "/path/to/command" if loadavg (1min) > 2 then start[追記] exec を使うほうがよいとのご指摘をコメントでいただきました。 check system localhost if loadavg (1min) > 2 then exec "/path/to/command"これでロードアベレージの1分平均が2を超

    ロードアベレージを監視して任意のコマンドを実行する(monitで) - 酒日記 はてな支店
  • shell script を書くときの tips 2つ(初心者向け) - tokuhirom's blog

    shell script は普段さけて通りたいと願ってやまないわけですが、たまには書かないといけないことがあるので、そういうときは覚えておくと便利な tips を2つ。 autodie っぽくするset -eとすると、コマンドの実行に失敗したときにそこで実行がとまるので便利。 #!/bin/sh set -e perl -e 'die' echo SHOULD NOT REACH HEREとすると % ./hoge.sh Died at -e line 1. % echo $? 255となって、最後までいかずに死にます。 複数のコマンドを順番に実行するときに便利。 なお、以下のような挙動をするんだそうです。 ただし失敗したコマンドが until または while ループの一部である、 if 文の一部である、 && または || リストの一部である、 コマンドの返り値が ! で反転されてい

  • Mitzyuki's Blog :: grep & awk

    grep & awk grep "^HOGEHOGE" file | awk 'BEGIN { FS = "="}; { print $2 }' というコード。一見何も問題ない様に見えるし確かに動作はするが、 CPU とプロセスと時間の無駄遣いである。 awk (1) には拡張正規表現が実装されているで、 awk 'BEGIN{FS="="}/^HOGEHOGE/{ print $2 }' file とすれば grep (1) の分だけ CPU やプロセス、時間が節約できる。 sed -n '/^HOGEHOGE/s/^.*=//p' file とするのも等価かな。 行指向の処理であれば煩雑な awk (1) よりも sed (1) の方が見やすいので、 個人的には sed (1) を利用した方法がお勧め。 シェルスクリプトに限らずスクリプト言語で記述されたプログラムは、 source f

    tm8r
    tm8r 2012/06/27
  • systemtapでファイルシステムキャッシュのヒット率を見る

    systemtapでファイルシステムキャッシュのヒット率を見る 2012-06-18 Linuxでは、自動的にメモリの空き容量をファイルシステムキャッシュ(以下単にキャッシュ)として使用するような仕組みが用意されている。MySQLでMyISAMを使う時のようにOSのキャッシュを使用するような仕組みを使っていたり、単にファイルをNFSで公開しているファイルサーバなどでは、このキャッシュがどの程度効くかによってかなりパフォーマンスが違ってくる。 多数のファイルが読みだされ、かつ読み出し対象ファイルの総容量が物理メモリ容量より多い場合(普通そうだと思うが)、どのくらいのキャッシュヒット率になっているかを知っておくのは、パフォーマンス改善の一助になる。しかし、あるファイルがキャッシュに載っているかどうかを調べたり、ファイルをキャッシュに載せたりするための単純なコマンドというのは実は存在していない(

  • いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記

    はじめに これから書く内容は、シェルスクリプトをばりばり書いている現場(サーバエンジニアインフラエンジニア)向けのものではありません。 年に数回crontabをいじるような現場(サーバに詳しくないアプリケーションプログラマが多数を占めるような現場とか、Webデザイナや非プログラマがcrontabをおそるおそるいじったりするような現場)を想定しています。 >/dev/null 2>&1 の問題点 この記法の問題点は、「覚えにくい、間違えやすい、間違ってても気づかない」ということです。 初心者を迷わせる要素がこんなにあります。 >/dev/nullは先か後か 1と2はどちらが先か &はどこに書くのか よって下記のように多種多様なミスが起こり得ます。 2>&1 >/dev/null >/dev/null 1>&2 >/dev/null 2>1& >/dev/null &2>1 これをぱっと見て

    いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記
    tm8r
    tm8r 2012/06/13
  • Linuxのメモリ上のキャッシュを解放する - 元RX-7乗りの適当な日々

    いつも思いだすのに時間がかかるというか、ググるのでメモ。 例えば、ベンチマークとかをとっていて、残ったキャッシュを奇麗さっぱりに消したい時とかに使う。 Linuxのメモリで保持しているキャッシュをクリアするには、以下を実行する。 # sync # echo 3 > /proc/sys/vm/drop_caches 値の意味としては、、、 1: ページキャッシュを解放 2: dentry、inode を解放 3: ページキャッシュ、dentry、inode を解放 以下を参考に。 /proc/sys/vm/drop_caches (Linux 2.6.16 以降) このファイルに書き込みを行うことで、クリーンなキャッシュ、dentry、 inode をメモリ上から外し、そのメモリを解放する。 ページキャッシュを解放するには、 echo 1 > /proc/sys/vm/drop_caches

    Linuxのメモリ上のキャッシュを解放する - 元RX-7乗りの適当な日々
  • SSH力をつけよう

    5. RFC RFC 4250 The Secure Shell (SSH) Protocol Assigned Numbers RFC 4251 The Secure Shell (SSH) Protocol Architecture RFC 4252 The Secure Shell (SSH) Authentication Protocol RFC 4253 The Secure Shell (SSH) Transport Layer Protocol RFC 4254 The Secure Shell (SSH) Connection Protocol RFC 4255 Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints RFC 4256 Generic Message Exchange Authent

    SSH力をつけよう
    tm8r
    tm8r 2012/05/30
  • ssコマンドのちょっといい所見てみたい。のでネットワーク統計情報がどの程度見られるか試してみた。 - 256bitの殺人メニュー

    netstatさんが時代遅れだって!? netstat使ってるのは小学生までだよねー。 キャハハk(ry 、、、というのは冗談ですが、これからはssコマンドらしいって聞いたので、どんな感じで使えるか使ってみた。 ssコマンド netstatの代替コマンドらしく、現在の通信状況の確認に使えるコマンドです。 メリットはsocketのrawでのsocketの扱いができる点かなと。 と、ipv6に強いところのようです。 でもあんまりipv6環境ってないですし、普段使いで代替になるかなーと思って見てみました。 基的な使い方 netstatと似た感じっすよ。これ。 netstat # netstat -naot (snip) tcp 0 0 192.168.100111:50271 192.168.10131:27218 ESTABLISHED keepalive (215.43/0/0) tcp

    ssコマンドのちょっといい所見てみたい。のでネットワーク統計情報がどの程度見られるか試してみた。 - 256bitの殺人メニュー
  • 新さくらのVPSでWebサーバを構築するテンプレ

    先日リニューアルされた「さくらのVPS」でWebサーバ(LAMP)を構築した際の基設定をテンプレートとして公開します。参考になればいいなと。 管理者アカウントの作成 # useradd -G wheel userName # passwd userName # vi /etc/pam.d/su -- 以下の行のコメントアウトを外す # auth required pam_wheel.so use_uid -- # visudo -- 以下の行のコメントアウトを外す # %wheel ALL=(ALL) ALL -- SSH設定 # mkdir /home/userName/.ssh # chown userName. /home/userName/.ssh クライアント側で公開鍵を作成し、サーバに公開鍵を転送 -- $ ssh-keygen -t rsa $ scp .ssh/id_rs

    新さくらのVPSでWebサーバを構築するテンプレ
  • CentOS で行なっておきたいセキュリティ設定: ある SE のつぶやき

    はじめに Linuxセキュリティ設定ってなかなかまとまったものがないので、いろんなサイトを参考にしながら設定をまとめてみました。想定はWeb サーバーで、使用している Linux は CentOS 6.2 です。 設定内容は以下のようになります。 全パッケージのアップデート リモートからの root ログインを無効にする 公開鍵暗号方式を使用した SSH ログイン設定 iptables 設定 SSH ポート番号の変更 不要なサービスを停止 ログ監視設定 ファイル改ざん検知ツール設定 ウィルス対策ソフト設定 Apache の設定 全パッケージのアップデート 最初に以下のコマンドを実行して、全パッケージを最新の状態にする。 # yum –y update 後は脆弱性が発見された時、または定期的にパッケージのアップデートを行う。 リモートからの root ログインを無効にする リモートからメ

  • dstatの万能感がハンパない - (ひ)メモ

    サーバーのリソースを見るにはグラフ化は重要ですが、推移ではなくリアルタイムな状況、例えば秒単位のスパイキーな負荷を見るには、サーバー上でvmstatやiostatなどの*statファミリーを叩く必要があります。 さて、vmstatはメモリの状況やブロック数単位のI/O状況は見られますが、バイト単位のI/O状況やネットワークの送信、受信バイト数を見ることはできません。 # vmstat 1 procs -----------memory---------- ---swap--- -----io----- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 3 1 0 4724956 355452 726532 0 0 54 484 3 3 1 0 99 0 0 2 0 0 47

    dstatの万能感がハンパない - (ひ)メモ
  • シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third

    エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET

    シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third
  • Linuxでのリモート越しの差分チェック(diff)色々 - 元RX-7乗りの適当な日々

    今さっき、サクッと書き殴ったワンライナーなので突っ込みどころはあると思いますが、汚いのを承知の上で備忘録的に公開してみようと思う。ポータビリティ重視。 ※ ちなみにノンパス設定している環境です(^^;)。必要に応じて各種パラメータを書き換えて実行してください。 ローカルの1ファイルと、リモートサーバにある1ファイルの差分チェック $ ssh 192.168.1.1 "cat /usr/local/apache2/conf/extra/httpd-mpm.conf" | diff - ./httpd-mpm.confこれは基。ユーザ名を付ける時は、"username@192.168.0.1"とか指定してください。(><) ローカルの1ファイルと、複数のリモートサーバそれぞれにある1ファイルの差分をチェック $ for i in `seq 1 10`; do IP=192.168.1.${i

    Linuxでのリモート越しの差分チェック(diff)色々 - 元RX-7乗りの適当な日々