线上问题排查命令----Shell篇

转至元数据起始

1.跟踪线上日志定时刷新最新内容

tail -fn
200 $log

2.查找指定字符串

#只显示匹配行

grep $String
$
file

#匹配字符串所在行的上下n行

grep -C
n $String $
file

#匹配字符串的行数有多少 

grep $String
$
file wc -l

#匹配字符串高亮显示

grep --color
$String $
file

#使用正则

grep -E
$String $
file

3.截取logman打印的Sevice调用时间

#
海志大神提供

grep $String
service.log |
awk -F‘class‘  ‘{print
$1}‘

#
杨沐大神提供

grep $String
service.log |
awk -F‘[()]‘ ‘{print
$4}‘

4.查看服务端口

netstat -anp
grep java

lsof -i:8080

5.查看进程中的部分信息

ps -ef
grep java

ps aux
grep java

6.查看JVM进程

jps

#
附带jvm参数信息

jps
-
v

#
只显示id

jps
-q

#输出main
method的参数

jps
-m

#输出完全的包名,应用主类名,jar的完全路径

jps
-l

7.查看文件

ls

#
查看所有文件

ls -a

#
列出文件权限

ls -al

#
显示文件大小并将其按时间排序

ll
-thr

8.远程复制文件

#
复制远程服务器的文件到本地

scp  [email protected]:/dir/file.f /home/

#
复制本地的文件到远程服务器

scp  /home/file.f
[email protected]:
/dir/

9.存储情况查看

#
查看

free -m

#
内存大小

free -m
|
grep "Mem" awk ‘{print
$2}‘

10.查看多台集群服务器配置

#
查看

polysh ‘dx-hotel-goods<01-04>
hotel-goods<01>‘

11.观察系统进程状况

#
查看top信息

top

#
系统运行时间和平均负载

uptime

#
每5秒刷新一次,最右侧有CPU的占用率的数据

vmstat
5

https://linux.cn/thread-12037-1-1.html

12.查看磁盘io

#
查看

iostat

#
基本信息

iostat
-d -k 1 10

13.查看磁盘使用情况

#
查看

df -h

14.查找文件

#
查找

find path
-name 
"*.conf" -print

15.较基本的几个命令  娱乐用~

#看谁在线。

w

who

#查看登录日志。

last
 

#所有帐号的登录日志。         

lastlog 
 

#
增加用户

adduser
xxx

#修改密码:        

sudo passwd xxx

#关机

shutdown -h
now     

#现在立即重启

shutdown -r
now    

#切掉电源重启(需root权限),建议不要使用。

reboot 
 

#注销命令          

logout

#查看规则

sudo iptables
-L  

#
查看日期

date

16.文件目录类

#
建立目录

mkdir 目录名

#
删除空目录

rmdir 目录名

#无条件删除子目录(不建议使用rm
命令  使用mv 代替)

rm -rf
目录名

#
改变当前目录

cd 目录名
(进入用户home目录:
cd ~;进入上一级目录:cd -)

#
查看自己所在目录

pwd

#
查看当前目录大小

du

#显示目录文件列表

ls -l
(-a:增加显示隐含目录) 其中:蓝:目录;绿:可执行文件;红:压缩文件;浅蓝:链接文件;灰:其他文件;红底白字:错误的链接文件

#
浏览文件

more 文件名.txt

less 文件名.txt

#复制文件

cp 源文件
目标文件 (-r:包含目录)

17.杀掉进程

#
kill 进程

kill[参数][pid]

HUP   
1    终端断线

INT    
2    中断(同 Ctrl + C)

QUIT   
3    退出(同 Ctrl + \)

TERM  
15    终止

KILL   
9    强制终止

CONT  
18    继续(与STOP相反, 
fg/bg命令)

STOP   
19    暂停(同 Ctrl + Z)

时间: 2024-10-12 13:30:42

线上问题排查命令----Shell篇的相关文章

线上问题排查命令----JVM篇

创建: 刘新宇,最新修改: 大约3小时以前 转至元数据起始 0.分类 功能 命令 线程 jstack 内存 jmap 性能 jstat 1.查找到Jvm的进程id,以后所有命令基本都需要 jps # 附带jvm参数信息 jps -v # 只显示id jps -q #输出main method的参数 jps -m #输出完全的包名,应用主类名,jar的完全路径 jps -l # 向下个命令输出pid jps | grep 'Bootstrap' | awk '{print $1}' | 2.jst

Java 开发必须掌握的线上问题排查命令

作为一个合格的开发人员,不仅要能写得一手还代码,还有一项很重要的技能就是排查问题.这里提到的排查问题不仅仅是在coding的过程中debug等,还包括的就是线上问题的排查.由于在生产环境中,一般没办法debug(其实有些问题,debug也白扯...),所以我们需要借助一些常用命令来查看运行时的具体情况,这些运行时信息包括但不限于运行日志.异常堆栈.堆使用情况.GC情况.JVM参数情况.线程情况等. 给一个系统定位问题的时候,知识.经验是关键,数据是依据,工具是运用知识处理数据的手段.为了便于我们

Java开发必须掌握的线上问题排查命令

作为一个合格的开发人员,不仅要能写得一手还代码,还有一项很重要的技能就是排查问题.这里提到的排查问题不仅仅是在coding的过程中debug等,还包括的就是线上问题的排查.由于在生产环境中,一般没办法debug(其实有些问题,debug也白扯...),所以我们需要借助一些常用命令来查看运行时的具体情况,这些运行时信息包括但不限于运行日志.异常堆栈.堆使用情况.GC情况.JVM参数情况.线程情况等. 给一个系统定位问题的时候,知识.经验是关键,数据是依据,工具是运用知识处理数据的手段.为了便于我们

Java架构师线上问题排查,这些命令程序员一定用得到!

Java架构师线上问题排查,这些命令程序员一定用得到! 线上问题排查,以下场景,你遇到过吗? 一.了解机器连接数情况 问题:1.2.3.4的sshd的监听端口是22,如何统计1.2.3.4的sshd服务各种连接状态(TIME_WAIT/ CLOSE_WAIT/ ESTABLISHED)的连接数. 常见方法: · netstat -n | grep 1.2.3.4:22 | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' · nets

线上操作与线上问题排查实战

转自:https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651960323&idx=1&sn=e04af14d2ebf939133869e0f18bb0dd1&chksm=bd2d01df8a5a88c98c3cb94a99334a16b372fd997f36bc757a38bb44b70d977797fa840064dc&mpshare=1&scene=23&srcid=0816Yl1Rl

线上问题排查

线上操作与线上问题排查实战 技术同学需要经常登录线上的服务器进行操作,58到家架构部/运维部/58速运技术部,联合进行了一次线上操作与线上问题排查实战演练,同学们反馈有收获,特将实战演练的问题和答案公布出来,希望对大家也有帮助. 一.了解机器连接数情况 问题:1.2.3.4的sshd的监听端口是22,如何统计1.2.3.4的sshd服务各种连接状态(TIME_WAIT/ CLOSE_WAIT/ ESTABLISHED)的连接数. 参考答案: netstat -n | grep 1.2.3.4:2

服务器线上问题排查研究

线上问题诸如: 1.线上服务器CPU占用率高如何排查? 2.线上服务器Load飙高如何排查?  3.线上服务器频繁发生Full GC如何排查?  4.线上服务器发生死锁如何排查? 一:线上服务器CPU占用率高如何排查? 问题发现: 在每次大促之前,我们的测试人员都会对网站进行压力测试,这个时候会查看服务的cpu.内存.load.rt.qps等指标. 在一次压测过程中,测试人员发现我们的某一个接口,在qps上升到500以后,CPU使用率急剧升高. CPU利用率,又称CPU使用率.顾名思义,CPU利

JVM 线上故障排查基本操作--CPU飙高

JVM 线上故障排查基本操作 CPU 飚高 线上 CPU 飚高问题大家应该都遇到过,那么如何定位问题呢? 思路:首先找到 CPU 飚高的那个 Java 进程,因为你的服务器会有多个 JVM 进程.然后找到那个进程中的 “问题线程”,最后根据线程堆栈信息找到问题代码.最后对代码进行排查. 如何操作呢? 通过 top 命令找到 CPU 消耗最高的进程,并记住进程 ID. 再次通过 top -Hp [进程 ID] 找到 CPU 消耗最高的线程 ID,并记住线程 ID. 通过 JDK 提供的 jstac

JVM 线上故障排查基本操作

# 前言 对于后端程序员,特别是 Java 程序员来讲,排查线上问题是不可避免的.各种 CPU 飚高,内存溢出,频繁 GC 等等,这些都是令人头疼的问题.楼主同样也遇到过这些问题,那么,遇到这些问题该如何解决呢? 首先,出现问题,肯定要先定位问题所在,然后分析问题原因,再然后解决问题,最后进行总结,防止下次再次出现. 今天的文章,就如我们的题目一样,讲的是基本操作,也就是一些排查线上问题的基本方法.为什么这么说呢?因为线上问题千奇百怪,就算是身经百战的专家也会遇到棘手的问题,因此不可能在一篇文章