後で見直すのに便利な、独自の一般的なLinuxシステムコマンドを記録して、メモリの状態が悪化していることを確認しましょう。
psコマンドの
コマンド:
PS -mp PID -o THREAD、TID、時間またはPS -Lfp PID
結果は:
このコマンドの役割は、主にプロセスに対応するスレッドに関する情報を取得することです。たとえば、Javaプロセスの実行中のボトルネックを分析したい場合は、このコマンドを使用して現在のすべてのスレッドのCPU使用時間を見つけることができます。これが最後の列です。
たとえば、ここでTID:30834が見つかりました。これは最も長いTIME時間を占めます。
最初にprintf"%x \\ n" 30834を使用して16進数に変換し、jstackコマンドを使用して現在のjvmプロセスのスタック情報をダンプし続けます。 Grepコマンドを使用すると、16進数のスレッドID情報を見つけることができ、最もCPUを集中的に使用するコードがどこにあるかをすばやく見つけることができます。; DboServiceProcessor-4
800 NID = 0x7d9b
" [0x0000000046f66000]状態で待機中:
ログイン
簡単な説明、コンテンツをjstackスレッドの一連下-thread-295" daemon prio = 10 tid = 0x00002aab047a9800 nid = 0x7d9b待機中の状態[0x0000000046f66000]
nid:対応するLinuxオペレーティングシステムのtid。変換された16進数です。
tid:これはjvmのjmmメモリ仕様の一意のアドレス位置であるべきです。jvmのメモリデータを詳細に使用しているのであれば使用できません。 topコマンドの
コマンド:
トップ-hp pidの
結果は:
と効果その前に、あなたは、リアルタイムで追跡することができます指定されたプロセスで最もCPUを消費するスレッドを取得します。次に、前の方法を使用して対応するスレッドスタック情報を抽出します。
I /Oのボトルネックが
分析
Solarisでmpstatコマンド
コマンド:Solarisでmpstat -P ALL 1千
結果は:
内部の%iowait列、つまりCPUがI /O操作を待つのにかかる時間に注意してください。この値は引き続き高い値であり、通常は入出力のボトルネックが原因で発生します。
このパラメータを使用すると、現在のI /O操作にボトルネックがあるかどうかを視覚的に確認できます。
iostatコマンド
コマンド:
iostat -m - ×1千
あなたはCPUに対応し、同じデータを観察することができiowaitの%は、加えてのiostatはまた、より重要なのI /Oステータスデータのいくつかの詳細を、提供しています。< Br>
avgqu-sz:デバイスに発行されたリクエストの平均キュー長(ディスクキューのリクエストの長さ、通常は2、3が良い。CPUの負荷と同じにすることができる)
await:デバイスに発行されたI /O要求が処理されるまでの平均時間(ミリ秒単位)(1つの待機からI /O操作の完了までの合計時間を表します)。
svctmと%util両方とも、I /O要求の処理に費やされた時間と、CPUに費やされた時間の割合を表します。それがボトルネックであるかどうかを判断するとき、これら2つのパラメータは主なものではありません。r /sw /sとrMB /s wMB /sは、現在のシステムが処理するI /Oを表す状態です。 Tps、後者はスループットです。これはシステムを評価するためのパフォーマンス指標でもあります。
pidコマンド
コマンド:
pidstat -p pid -u -d -t -w -h 1 1000
結果は:
非常に便利なコマンドは、より洗練されたの開発を促進することができ、CPU、I /O、IR、CSなどを含むプロセスときに対応した性能データに基づいて分析することができるさシステムの動作状態を確認してください。しかし、pidstatは2.6カーネルのいくつかの新しいバージョンに含まれているようです、あなたはsysstatパッケージをインストールする必要があります。
ubuntuでは、sudo apt-get install sysstatでインストールできます。
SARコマンド
コマンド:
SAR -x PID 1~1000
ログインいくつかの
SARがPIDに対応する指定することができる、注目固定パラメータ、pidstatほど強力ではありません。対応するI /O、IR、その他の情報が表示されません。
sar関数は、mpstatとiostatの関連関数をオーバーライドできます。
コマンド
DSTAT
コマンド:
DSTAT -y --tcp 1千
は、より簡単にDSTAT --tcpで見ることができますtcpの現在の状態は、毎回netstat -natを見る必要はありません。
その他のコマンド
netstat -natp:対応するネットワークリンクを表示し、Recv-Q、Send-Qに注意を払います。 、州。
lsof -p pid:対応するpidのファイルハンドルを検索します。
lsof -i:80:対応するポートがどのプロセスを占有しているかを検索します。
lsof /tmp/1.txt:対応するファイルがどのファイルを使用しているかを調べます。
tcpdump /wireshark:キャプチャパケット解析ツール
jstat /jmap /jstack /jpsおよびその他の一連のjavaモニタリングコマンド
最後に
>
パフォーマンス調整作業を行いたい場合は、対応する状態に注意を払うために必ずいくつかのツールを使用してください。 linuxコマンドを使用すると、CPU、I /O、ネットワークなどの周辺機器の状態を簡単に確認でき、ほとんどの問題を解決できます。 jvmの一部の内部状態監視には、いくつかの独自のツールを使用したきめ細かい観察が必要です。
現在、非常に深刻なBashの脆弱性がインターネット上に公開されており、ハッカーがリモートコマンドをサーバーに送信して個人情報を盗むことを容易に可能にします。記事はあ
外国メディアの報道によると、作者のように、おそらく多くのユーザがLinuxに興味を持ち、テストのために自分のPCにインストールしました。しかし、ようやく多くのユーザーがLinuxをWindowsの採用
Windows 、Linuxシステムはインターフェースのテーマをサポートしています、あなたは簡単にあなたの顔を変えることができます、そしてそれはお互いを変えることは難しくありません。今、誰かが Win
サードパーティ製のツールを介してNICトラフィックを取得します。これは明らかに明白です。実際、その効果はスクリプトを書くことによって達成することができます。以下は私の個人的な仕事でまとめられたデータです。以下は、NICトラフィックをカウントするためのシェルスクリプトです。
[chengmo @ localho
受け取る