5つのJVM構成項目-トラブルシューティング

JVMのデフォルト設定を表示する

 コマンド: java -XX:+PrintFlagsInitial -version image.png

JAVAプログラムの実行中に特定のJVMパラメータが有効になっているかどうかを確認します

 コマンド:
  1 使用jps或ps -ef|grep java 找到进程号。;
  2 jinfo -flag 配置项 进程编号 (不加配置项输出所有配置)。;
image.png

注:
JVM XXパラメーター構成には2つのタイプがあります:
  1 Boolean类型:-XX:+/- 配置项。+ 代表开启,- 代表关闭。;
  2 KV设置类型:-XX:属性key=属性值value。eg:-XX:MaxTenuringThreshould=31。;

JVM共通構成

  -Xms:等价于-XX:InitialHeapSize,初始化最小堆内存,默认为物理内存的64/1;
  -Xmx:等价于-XX:MaxHeapSize,初始化最大堆内存,默认为物理内存的4/1;
  -Xss:单线程栈大小,默认为512k ~ 1024k;
  -XX:MetaSpaceSize:元空间大小,使用的物理内存;
  -XX:+ PrintGCDetails: 打印GC详细信息

トラブルシューティング

JAVAアプリケーションのメモリが多すぎます:
  1 使用jmap -heap pid 查看内存使用情况,看看是否有内存溢出。;
  2 使用jmap -dump:live,format=b,file=filename pid 生成dump文件通过Mat工具进行分析。;

JavaアプリケーションCPUが高すぎます:
  1 使用ps -mp pid -o Thread,tid,time 定位到具体的java线程。m代表显示所有的县城,-o代表该参数后面是用户自定义格式。;
  2 把过高的线程转换成16进制。;
  2 jstack pid | grep tid(16进制)-A100 定位到具体的代码。-A代表显示多少行。;

サーバリソース:トップ:
:; ;查看整机情况
主要看load average 1分钟、5分钟、15分钟的平均负载情况。还有cpu\mem
可以使用top -p pid查看单个进程的信息

vmstatの:查看cpu;
vmmstat -n 2 3 间隔2秒,总共取样3次,主要看us、sy.代表用户进程消耗cpu百分比和系统进程消耗cpu百分比;
可以使用pidstat -u 1 -p pid 查看单个进程的cpu信息;

無料-m:查看内存;
可以使用pidstat -r 1 -p pid 查看单个进程的内存信息;

DF -h:查看磁盘使用情况;
可以使用pidstat -d 1 -p pid 查看单个进程的磁盘信息;

iostatの:检查Io情况;

依存コンポーネント:
MySqlなど:クエリが遅い、IOが高い、デッドロック。

元の記事を15件公開 Likes0 訪問数70

おすすめ

転載: blog.csdn.net/xrzi2015/article/details/105603171