LABO/linuxシステムまわりで使うコマンド

一行メモ


mallocでエラーにならずにOOM killされる事への対策?

/etc/sysctl.conf に次を追加し、オーバーコミットしないようにして(100と2)、もし OOMになったときは カーネルパニック(1)を起こさせ、リブート(30秒後)させる。OOMだからといっていつもカーネルパニックが 生じる訳ではないようだ。

vm.overcommit_ratio=100
vm.overcommit_memory=2
vm.panic_on_oom = 1
kernel.panic = 30

この設定ファイルは sysctl -p で読み込まれる。 又は、sysctl -w vm.overcommit_ratio=100 などとして設定してもよい(リブートでもとに戻る)。

/etc/crontab に次の行を書いておくと、起動時(@reboot)に、右のコマンドが実行される。

@reboot root (dmesg | head -10; tail -50 /var/log/messages) | mail -s"`hostname` rebooted" root

iperf3 通信帯域速度測定

サーバーを起動
compute-0-1$ iperf3 -s [-p ポート番号,default 5201]
サーバーホストを指定して、クライアントを起動。測定される
compute-0-2$ iperf3 -c compute-0-1 [-p ポート番号,default 5201] [-t 秒数,default 10]
短時間の測定を異なるマシン間でする場合
$ for node in 2 3 4 ; do echo "== compute-0-$node -> 0-1 =="; ssh compute-0-$node iperf3 -c compute-0-1; done

netstat

netstat    #オプション無しは ESTBLISHEDのみを表示する
   #-a をつけると、接続まち、接続まちでないもの、すべてのソケットを表示
   #-t をつけるとTCPを表示
   #-u をつけるとUDPを表示
   #-n 名前解決をしない

netstat -tanp  # TCP LISTENをみる
netstat -r    #ルーティングテーブルを表示する
   #-n 名前解決をしない
netstat -i    #インターフェース毎の統計情報を表示
              #(パケット衝突数など含まれる)

メモリの状態を調べる

free -m       #メモリの空きをみる。-mはMB単位の指定。
vmstat [sec]  #スワップin,outの回数をみる。secがあると秒毎に出力される。

ハードディスクの状態を調べる

iostat -x    #HDDの統計情報を表示
sar -d    #ディスクの利用状況を表示
nfsstat [-s|-c]    #NFSの統計情報を表示。-s/-cはサーバ/クライアントのみ
blkid    #HDDのUUIDなどを表示
findmnt    #マウントのツリーを出力

lsof

sudo lsof -i    #プロセスが使用しているポートを表示する
sudo lsof -i:80  #80ポートを使用しているプログラムを表示する

/etc/shadowファイルの編集

vipw -s

sysctl

$ sysctl -a  #カーネルパラメータを表示する
$ sysctl net.ipv4.icmp_echo_ignore_broadcasts  #個々の表示

$ sysctl -a | grep 'net.ipv4.icmp_echo_ignore_broadcasts\|net.ipv4.icmp_ignore_bogus_error_responses\|¥
net.ipv4.tcp_syncookies\|net.ipv4.conf.all.accept_redirects'

$ sysctl -a | grep 'net.ipv[46].\(ip_forward\|conf.all.accept_source_route\)'

$ sysctl -a  2> /dev/null | grep 'net.ipv[46].\(icmp_echo_ignore_broadcasts\|¥
icmp_ignore_bogus_error_responses\|tcp_syncookies\|conf.all.accept_redirects\)'

/etc/sysctl.conf に起動時に読み込まれる設定ファイルあり。起動後は sysctl -p で再読込みができるらしい。
個々の書き換えは、see man

iptables

$ sudo iptables [-t filter] -L [チェイン名] -v -n

   -t filter はデフォルト。他に natなど

   -v 設定全体を省略しない
   -n IPやフラグなどを文字にしない

   -L 設定内容の表示。チェイン名を指定できる

# CentOSの場合
/etc/sysconfig/iptablesに設定されるテーブル・チェインの記載があるらしい。
# Ubuntuの場合
どこ?

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS