Linux

Hack 101. Renice コマンド

renice は実行中プロセスのスケジューリングの優先順位を変更します。実行中プロセスの優先順位を低くするには?(nice 値を増やす)以下の例では、存在するシェルスクリプトが nice 値 10 で実行中です。(ps の出力の 6 番目のカラム) $ ps axl | grep ni…

Hack 100. Nice コマンド

カーネルは、nice 値に基づいてプロセスにどのくらいプロセッサ時間が必要かを決定します。 有効な nice 値の範囲は -20 〜 20 です。 nice 値が -20 のプロセスは、優先順位が高くなります。 nice 値が 20 のプロセスは、優先順位が低くなります。

Hack 99. Sysctl コマンド

sysctl コマンドを使用して直接 Linux カーネルパラメータを変更できます。 sysctl は実行中に Linux カーネルパラメータを設定するのに役立ちます。 # sysctl -a dev.cdrom.autoclose = 1 fs.quota.writes = 0 kernel.ctrl-alt-del = 0 kernel.domainname =…

Hack 98. Netstat コマンド

netstat コマンドはネットワークに関する情報を表示します。 たとえば、ネットワーク接続数・ルーティングテーブル・インターフェイス情報などです。 次に netstat コマンドの使用方法の例をいくつか示します。netstat を使用してアクティブ接続とドメインソ…

Hack 97. vmstat コマンド

通常パフォーマンスをモニタリングするためには vmstat コマンドだけで十分です。 これは、メモリ・スワップ・IO・システム・CPUなどのパフォーマンス情報を表示します。次のコマンドは。1 秒おきに 100 回 vmstat を実行します。 # vmstat 1 100 procs ----…

Hack 96. Sar コマンド

sar コマンドは sysstat パッケージに含まれています。 sysstat がインストールされているか確認してください。 システム上に sar がインストールされていない場合、Sysstat プロジェクトから取得してください。sar はすばらしいモニタリングツールで、次の…

Hack 95. lsof コマンド

Lsof は ls open files を表します。 システム上で開いているファイルすべてをリストアップします。 その開いているファイルにはネットワーク接続、デバイス、ディレクトリも含まれます。 lsof コマンドの出力は次のようなカラムがあります: o COMMAND プロ…

Hack 94. Du コマンド

du コマンド (disk usage) は指定したディレクトリやそのサブディレクトリのファイルスペース使用量を出力します。どのくらいのスペースが、自分の home ディレクトリやそのサブディレクトリに占領されているでしょうか?次の例では、オプション -s は要約だ…

Hack 93. Kill コマンド

kill コマンドは実行中のプロセスを終了します。 通常このコマンドはハングしたり応答のないプロセスを終了するために使用されます。 Syntax: kill [options] [pids|commands]ハングしたプロセスを終了するには?まず、ps コマンドを使用して終了したいプロ…

Hack 92. Df コマンド

df コマンド (disk free) はマウントされたファイルシステム上で利用可能なトータルサイズや空き容量を表示します。 Syntax: df [options] [name]何 GB のディスク容量がシステムで空いているでしょうか?以下に示すように df -h を使用します。 オプション …

Hack 91. Ps コマンド

ps コマンド (process status) はアクティブなプロセスすべてのスナップショット情報を表示します。 Syntax: ps [options]システムで実行中のプロセスすべてを表示するには?以下に示すように "ps aux" を使用します。 # ps aux | more USER PID %CPU %MEM V…

Hack 90. Top コマンド

top コマンドは。CPU ロード時間・メモリ使用量・プロセスリストなどのような システムのパフォーマンス指標についてのリアルタイムの情報を表示します。 Syntax: top [options]CPU 使用量のような現在のシステム状態はどのようにしたらみることができるので…

Hack 89. Free コマンド

free コマンドは物理メモリ(RAM)やスワップメモリについて必要な情報をすべて表示します。 Syntax: free [options]システムの総メモリサイズはいくつでしょうか?以下の例では、システムの総物理メモリサイズは 1GB です。 以下に表示された値は、KB 単位…

Chapter 12: システム監視とパフォーマンス

Hack 88. シェルスクリプト内でデータファイルフィールドを読み込む

この例では、データファイルから指定したフィールドを読み込んで、 そのデータをシェルスクリプト内で操作する方法を示します。 たとえば、employees.txt ファイルが {employee-name}:{employee-id}:{department-name} という形式であると仮定します。 以下…

Hack 87. クォート

特別な文字を持たない文を出力します。 $ echo The Geek Stuff The Geek Stuff特別な文字をもつ文を出力します。bash ではセミコロンはコマンドの区切りです。 以下の例では、“The Geek” は echo に関係し、 “Stuff”は Linux コマンドとして扱われますが、そ…

Hack 86. シェルスクリプトデバッグする

シェルスクリプトをデバッグするには、シェルスクリプト内の先頭で set -xv を使用します。デバッグコマンドを使用しないシェルスクリプト: $ cat filesize.sh #!/bin/bash for filesize in $(ls -l . | grep "^-" | awk '{print $5}') do let totalsize=$to…

Hack 85. bash シェルでランダムな数値を生成する

$RANDOM という bash 組み込み関数を使用して、 以下に示すように 0 – 32767 までのランダムな数値を生成します。 $ echo $RANDOM 22543 $ echo $RANDOM 25387 $ echo $RANDOM 647

Hack 84. .bash_* を順番に実行する

次のファイルはどのような順で実行されるでしょうか? o /etc/profile o ~/.bash_profile o ~/.bashrc o ~/.bash_login o ~/.profile o ~/.bash_logoutログインシェルを順番に実行する 次の仮想コードはこれらのファイルの実行順を示しています。 execute /e…

Chapter 11: Bash スクリプト

Hack 83. すぐに指定したモジュールのみロードする

ときどき Apache ですべてのモジュールをロードしたくないことがあります。 たとえば、LDAP をテストするときだけ、ldap に関係するモジュールをロードしたいでしょう。 以下のようにすることができます。httpd.conf を変更し、load-ldap (名前は任意です)…

Hack 82. httpd のビルドパラメータを表示する

オプション -V(大文字の V)を使用して、 Apache のバージョンや Apache をビルドした際に使用したパラメータすべてを表示します。 # httpd –V Server version: Apache/2.2.9 (Unix) Server built: Jul 14 2008 15:36:56 Server’s Module Magic Numbe…

Hack 81. 変更後に httpd.conf を確かめる

オプション -t を使用すると、指定した Apache 設定ファイルに 問題があるかどうかを確かめることができます。 以下の例では、httpd.conf.debug の 148 行目に問題があったことを示しています。 mod_auth_basicso は so の前に .(ピリオド)がありません。 …

Hack 80. httpd.conf 内で受け入れたディレクティブすべてを表示する

httpd のヘルプを拡張したようなものです。 httpd.conf のディレクティブすべてとディレクティブが有効な場所を表示します。 特定のディレクティブについては、有効な値すべてを表示し、 httpd.conf 内のその場所で使用することができます。 これは特定の Ap…

Hack 79. Apache 内部のモジュールを表示する

Apache 内部に近ぴいるされたモジュールを表示します。 # httpd -l Compiled in modules: core.c prefork.c http_core.c mod_so.cApache によって静的および動的にロードされたモジュール両方を表示するhttpd におぷしょん -l を渡すと、静的なモジュールの…

Hack 78. 一時的にログレベルを上げる

問題をデバッグ中に、一時的に Apache のログレベルを変更することができます。 以下に示すようにオプション -e を使用して httpd.conf の LogLevel ディレクティブを変更しなくてもいいです。 この例では LogLevel は debug にセットされます。 # httpd -k …

Hack 77. httpd.conf を編集せずに一時的に DocumentRoot を使用する

これはあなたのウェブサイトを違うレイアウトにしようとしているときにとても有用です。 デフォルトの DocumentRoot 下のオリジナルのファイルを変更したくないからです。オリジナルの DocumentRoot ディレクトリ (/var/www/html) を新しいテンポラリ Docume…

Hack 76. apachectl に 別の httpd.conf ファイルを渡す

典型的には、別の Apache ディレクティブを使用するにはオリジナルの httpd.conf を編集します。 なにかうまくいかない場合に、変更したものを元に戻すでしょう。 オリジナルの httpd.conf を編集する代わりに、新しく httpd.conf.debug にコピーし 以下に示…

Chapter 10: Apachectl と Httpd のサンプル

Apache2 をインストールした後に apachectl や httpd を使用して最大限の潜在能力を引き出したい場合、 start, stop, restart 以外のことが必要です。 この章では 9 つの実践的なサンプルを提供しています。 これらを利用すると効果的に apachectl や httpd …

Hack 75. Magic SysRq Key を使用した Linux の安全な再起動

magic SysRq key は Linux カーネル内のキーコンビネーションです。 これを使用することでシステムの状態に関係なく様々な低レベルのコマンドを実行できます。ファイルシステムを壊さずに、フリーズ状態からの復帰やコンピュータの再起動をしたいことがよく…