blog
« Windowsの80番ポートを占有しているのは誰だ? |  TOPへ  | IT業界 プロジェクトマネージャーに求められるスキルとは »
リリース

Linuxに関するカーネルの説明、チューニングなどの忘れがちな内容のコマンドの使い方を、まとめた備忘録である。なので随時、発見次第追加していくことにする

コマンド

psのSTATの意味

R(Run):タスク処理中(実行中)
S(Sleep):タスクが待機中(CPUの空き待ち)
D(Disk Sleep):タスクが待機中(Disk I/Oの空き待ち)
Z(Zombie):タスク終了待ち

プロセス内のマルチスレッドの状況を確認する

ps -elf -L | grep プロセス名

(例:Javaのスレッド)
fukaoi  13177  1 24335  0  105  76   0 - 81609 339346 Nov18  bin/java -D
fukaoi  13177  1 24336  0  103  74   0 - 81609 322561 Nov18  bin/java -D
fukaoi  13177  1 24337  0  105  76   0 - 81609 322562 Nov18  bin/java -D

.bakファイルをディレクトリ再帰的に探査して削除する

find  ./ -name '*.bak' -exec rm -v {} \;

各種OS、ハード情報を調べる

cat /proc/*

(例:カーネルバージョン)
cat /proc/version
Linux version 2.6.9-xx

(例:CPUバージョン)
cat /proc/cpuinfo
model name      : xxxxxx
stepping        : 8
cpu MHz         : xxxxxx
cache size      : xxx KB

MySQLのデバッグ情報を出力する

VISUAL=cat /usr/local/mysql/bin/mysqlbug
おもにConfigure Optionを調べる際ににCallする

Webサーバ(Port:80)にアクセスしてきているIPを調べる

netstat -ant | grep EST | grep :80 | awk '{print $5}' \
| awk -F : '{print $1}' | sort | uniq | wc -l

Cのソースファイルから関数を探す

gtags -v
global 関数名

(例:mysql_reald_connectを呼び出しているソースを探す)
cd /usr/local/src/mysql-5.0.xx/libmysqld
gtags -v

global -r mysql_real_connect
client.c
examples/mysql.cc
examples/mysql_client_test.c
examples/mysqltest.c
ha_federated.cc
libmysql.c

CのソースファイルからFunction callを抜き出す

cflow xxxx.c

カレントディレクトリにあるファイルをファイルサイズ順に並び変える

ls -lahS ./

SVN ignoreの設定

cd "ignoreを設定したいディレクトリ"
svn  --editor-cmd vi  propedit svn:ignore . <= ignore条件を登録する
svn commit -m "Set svn:ignore"              <= コミットし登録する

MySQL5の使用可能ストレージエンジンを調べる

mysql> show engines;

+------------+----------+
| Engine     | Support  | 
+------------+----------+
| MyISAM     | DEFAULT  |
| MEMORY     | YES      |
| InnoDB     | DISABLED |
| BerkeleyDB | NO       |
| BLACKHOLE  | NO       |
| EXAMPLE    | NO       |
| ARCHIVE    | NO       |
| CSV        | NO       |
| ndbcluster | NO       |
| FEDERATED  | NO       |
| MRG_MYISAM | YES      |
| ISAM       | NO       |
+------------+----------+

MySQLのQUERY_CACHEをクエリ単位で使用しないようにする

SELECT SQL_NO_CACHE ...

MySQLをGDBをつかってDebugする

gdb /usr/local/mysql/libexec/mysqld
(※)一般ユーザーで実効する事。rootではセキュリティチェックにより
    実効できない

diffを使った際に、表示を見やすく出力する

diff -br -U1 Aファイル Bファイル

-b:スペース削除
-r:再帰的に走査
-U:アウトプットするときに○行にまとめUnified形式にする(+)

Ubuntu、debian系OSのインストール済みパッケージの確認

dpkg -l

.Xresourcesファイルを修正した後のリロード方法

xrdb -load .Xresources

emacsの設定ファイルを修正した後のリロード方法

M-x eval-current-buffer

emacsでTab => Spaceへ置換する

置き換えたい範囲を選択(全選択:Ctrl x + h)
Esc x  untabify

grepコマンド alias指定

alias grep='grep --color=auto --exclude=*\.svn* --exclude=*text-base* --exclude=*all-wcprops* --exclude=*entries*'

ファイルの文字コード、ファイルタイプを調べる

file -i "ファイルパス"

サービス、デーモンの起動条件を変更

sysv-rc-conf

Linuxのデバイスを調べる

lspci -nn

Debianインストール済みパッケージ一覧

dpkg --get-selections

左から、"割り当て済み" 、"使用中" 、"最大割り当て可能"ファイルディスクリプタの順にて表示

cat /proc/sys/fs/file-nr

ファイルディスクリプタの詳細情報

/proc/self/fd/

debian package reinstasll

apt-get install build-essential devscripts
apt-get source php5
cd php5-*
vim debian/rules 
debuild -us -uc -b

MySQL現在の接続状況を調べる

mysqladmin -u root extended-status | grep -E 'Max | Threads'

名前が tar で終わるもの以外のファイル・ディレクトリを削除する

ls | grep -v -E 'tar$' | xargs rm -r
 
投稿日:2009/06/07 | カテゴリ:Linux | コメント・TrackBack:(0)



Trackback URL

http://blog.fukaoi.org/2009/06/07/command?tb=y&entry_id=24

コメントはこちらからどうぞ

 
 
              
入力された内容
確認内容として表示されます