コマンド, 小ネタ

おはようございます。ライトノベル好きのツチノコです。年末年始に読むライトノベルは決めましたか?

さてansibleのplaybookを書いていたりすると、ディレクトリ構造が深くなりがちです。
作業中に深いディレクトリから浅いディレクトリへ移動するときにめんどいのでなんとかしました。
・cd ../../../ などで上がろうとすると、いくつ上がるんだっけとか、間違って ./ や …/ と typo する
・popd しようとしても移動先ディレクトリがスタックに入ってるとは限らない

.bashrc に以下のfunctionを定義します。

これでカレントディレクトリのパスの一部を指定して、そのディレクトリにcdするコマンドuptoができました。

こんな感じで使えます。

補完も効きます(候補がsortされるけど・・・)

部分一致にも対応してます。

べんり。

p.s. 華麗なる探偵アリス&ペンギンおもしろいですね

コマンド, 小ネタ

pingでsearchをかけるといろいろと出てくるpingライクなコマンド

みんなどんな役割を持っているんだろうか。

いわずと知れたpingのように各プロトコルで応答の確認を行うコマンドであり、

fping,httpingなど監視ツールと組み合わせて利用されることも多いんだと思いますが、

普段使いできそうなコマンドはあるのでしょうか。

さっそく、調べてみました。

fping:
複数のipにping
ioping:
簡易的なディスクレイテンシーモニタリング
omping:
マルチキャストとユニキャストで応答確認
hping:
icmp,udp,tcpなどいろんなパケットを生成し応答確認
arping:
イーサネットレベルの応答確認
2ping:
特定の2ホストでどちら側のホストに問題があるのか確認できる。
httping:
httpレスポンス詳細が確認できる。

結果、下記の三つのコマンドは覚えておいても損はないかなと思いました。

一つずつ確認していきます。

  1. httpingはウェブサーバで遅延しているときにどの部分で遅延が発生しているのかが確認できる。
  2. arpingはipバッティングがないかどうかの確認ができる
  3. iopingは実運用下の中でディスクのレイテンシーの悪化状況を確認できる。

1.httping

名前解決が完了するまでの時間
+サーバへ接続するまでの時間
+リクエストがサーバに受け付けられるまでの時間
+サーバが最初のデータをスタートするまでの時間
+データの転送が完了しコネクションがクローズされるまでの時間
=合計

がわかります。

これでどこの部分で遅延が発生しているのかが具体的にわかるようになります。

2.arping

このようにIPのconflictの確認が可能です。

このコマンドを運用に組み込んでIPバッティングを防いだりできます。


3.ioping

このように実稼働環境においてレイテンシーの変化を確認し増強のタイミングを見極めることができます。

ちなみに、pong2というOpenGLを利用した3Dゲームがあります。

3Dのピンポンゲームです。aptでサクっと入ります。画面はこんな感じ^^

pong2

linux, コマンド, 小ネタ, 運用管理

ifconfigを含むnet-toolsが非推奨になって久しいようですが、

rhel7系からnet-toolsはおさらばとなります。
※手動で入れれば使えますが。

今思えば、ifconfig君

あなたと出会ってからこの十数年、あなたを打たなかった日はありません。

雨の日も風の日もいつも一緒だったね。

あなたがいつもいてくれたから私も輝けたんだといます。

これから私は新しいiproute2君と歩んでいくことになりますが、あなたのことは決して忘れることはないでしょう。

ifconfig君に幸あれ

P.S.
ついつい ifco[tab]ってやっちゃうのはご愛嬌です。

ということでnet-toolsとiproute2の対応表一覧です。自分の備忘録として残しておきます。

net-tools iproute2
ifconfig ip l (ip link)
ifconfig -a ip a show (ip addr show)
ifconfig eth0 up ip link set eth0 up
netstat ss
netstat -i ip -s link
netstat -l ss -l
netstat -r ip r (ip route)
route [add|del] ip route [add|del]
route -n ip route show
arp -n ip n (ip neighbor)

heartbeat+pacemakerなどで利用する仮想IPはipaddr2を利用しています。

そもそもifconfigではこのコマンドで設定されたIPは表示されません。rhel6系であってもip addr showで確認しなくてはいけません。

開発、オペレーションする側みんながこの違いを認識し共有することがミスを防ぐことになります。

linux, コマンド

 

余裕があるんだけどメモリがswapに入ってしまう現象が少なからずあると思います。

だいたい

このようにしてページキャッシュを削除しますが、キャッシュ全体を削除してしまうので、
どうしても特定のファイルのキャッシュだけ削除したいという要求が出てきます。

そんなのときに便利なツールがlinux-ftoolです。

使ってみます。

こちらでインストールは完了です。
早速試してみます。/tmpディレクトリへ移動し適当にファイルを作成しキャッシュを消費させ、
ページキャッシュの情報を覗いてみます。覗くのはlinux-fincoreコマンドを利用します。

※200Mほどキャッシュを消費したのがわかりますね。

ではキャッシュを確認してみましょう。

※testfileというファイルでまるまる200Mのキャッシュが利用されていることがわかります。

さて次に削除です。削除にはlinux-fadviseというコマンドを利用します。

削除されたことがわかるかと思います。

こちらのツール類の詳細は下記URLから確認できます。
https://code.google.com/p/linux-ftools/
基本的にはPOSIX_FADV_DONTNEED以外は使う機会が思い浮かびません。^^;

利用用途としては必要のないログなどでキャッシュが肥大化していないか確認して、
その肥大化している問題とならなさそうなページキャッシュを手動で削除する
ってところになるんだろうと思います。

PAGE TOP