Публичный аккаунт WeChat:Программист Сяо И
предисловие
В нашей повседневной работе, когда мы сталкиваемся со сложными проблемами, есть несколько очень хороших инструментов, которые играют немалую роль в решении проблем, которые будут здесь описаны.Java
Инструменты, используемые в серверной разработке, доступны всем, и я надеюсь, что студенты, прочитавшие эту статью, смогут использовать их для решения задач в своей повседневной работе в будущем.
класс команд Linux
tail
Я считаю, что это наиболее часто используемая команда, которая удобна для просмотра логов серверной машины.tail -f
tail -100f xxx.log # 倒数100行并写入实时监听文件写入模式
grep
grep forest xxx.log #日志查找<br>
grep forest xxx.log yyy.log ##多日志查找<br>
cat xxx.log | grep -i 'keyword' #管道过滤关键字
pgm
pgm -A -f xxx.log 'filePath/xxx.log | grep 'keyword'' #批量查询xxx.log 满足条件的日志'
top
top -H -p pid #top一般看一些基本信息,其他的配合来拆线呢jvm的一些问题了
Инструмент устранения неполадок
Arthas
Когда речь заходит об инструментах для устранения неполадок, первое, что приходит на ум, это Артас. Он может помочь нам получить много информации. Это инструмент, который может диагностировать онлайн. Можно сказать, что почти многие нативные команды jvm можно найти на это. Я еще не знаю. Студенты могут перейти на официальный сайт, чтобы изучитьофициальный сайт Артаса, есть много других команд, но я обычно больше использую вышеперечисленные команды.
------类、方法冲突、class文件、classloader继承等 ------
`thread`-----查看当前jvm线程堆栈信息
`sc`---------查看jvm已加载的类信息
`dump`-------dump已加载类的字节码到特定目录
`jad`--------反编译已加载类的源码
`classloader`---查看继承树,类加载信息
------查看方法执行参数、异常、返回值、耗时、调用路径等 ------
`monitor`-----方法执行监控
`watch`-------方法执行数据监控 参数 返回值等
`trace`-------方法内部调用路径,并输出方法路径上每个节点上耗时
`stack`-------输出当前方法被调用的调用路径
`tt`----------方法执行数据的时空隧道,就是可以回溯指定方法每次调用不同时间下的入参返回值
Jprofiler
Раньше считалось, что многие проблемы нужно было пропускать через Jprofiler, но теперь Артас в принципе может это решить.Ключевая проблема в том, что производство и просмотр в основном изолированы от сети, поэтому они в основном не используются.
Java пять осей
jps
Основная цель обычно используется для просмотра параметров jvm и номера процесса.jps-l
jps-v
jps-q
jstack
Инструмент трассировки стека, который поставляется с виртуальной машиной Java, в основном используется для создания снимков потока jvm для определения причины замятия, взаимоблокировки, бесконечного цикла, запроса на длительное ожидание и т. д. Его также можно использовать.arthas -b
Проверить
sudo -u admin /xxx/yyy/bin/jstack 1234
sudo -u admin /xxx/yyy/bin/jstack -m 1234 #native+java栈
jinfo
Он в основном используется для просмотра параметров запуска системы, например, если вы забыли порт удаленной отладки, порт запуска, размер выделенной памяти jvm и т. д.
sudo -u admin /xxx/yyy/bin/jinfo -flags 2815
jmap
Есть две основные цели: проверить состояние кучи и проверить файл дампа, чтобы увидеть, кто занимает большую часть памяти кучи.
sudo -u admin /xxx/yyy/bin/jmap -heap 1234 #查看堆的情况
sudo -u admin /xxx/yyy/bin/jmap -demp:format=b,file='filePath' #dump
sudo -u admin /xxx/yyy/bin/jsmp -histo 1234 | haad 20 | top20
jstat
В основном используется для просмотра выделения памяти для сборки мусора, изменения размера каждой области, включая S0 S1 CCS YGC FGU GCT.
sudo -u admin /xxx/yyy/bin/jstat -gcutil 1234 1000
В конце концов
- Статьи все оригинальные, а оригинальность непростая.Благодаря платформе Nuggets я чувствую, что кое-что приобрел.Помогите Sanlian,пополните
- Все коды, диаграммы последовательности и диаграммы архитектуры, задействованные в статье, являются общими и могут быть получены, оставив сообщение на официальном аккаунте.
- Если в статье есть ошибки, пожалуйста, прокомментируйте и оставьте сообщение, чтобы указать, и добро пожаловать на перепечатку, пожалуйста, отметьте источник