一、排查问题常用命令
top:实时监控系统中进程和资源占用情况,包括cpu、io、内存等。q 可退出实时监控。
ps:列出当前系统正在运行的进程信息,包括进程id、cpu、内存使用情况。
netstat:用于查看网络连接状态,包括网络接口信息、tcp/ip连接状态等。
ifconfig:用于查看系统启动过程中的消息,包括ip地址、网关地址等。
dmesg:用于查看系统启动过程中的消息,包括内核和驱动程序消息,可以找到喜用启动过程中的错误信息。
free:用于查看系统中的内存使用情况,包括内存总量、已用内存、可用内存等,可以帮我们及时处理内存泄漏等问题。
free -s interval:使用-s参数可以设置查询的时间间隔,单位为秒。例如“free -s 5”表示每5秒查询一次内存使用情况。
du:用于查看目录或文件占用的磁盘空间。
tail:用于查看文件的最后几行内容,可以用于查找日志文件中的错误信息。
tail -f:实时监控并输出文件变化,通常用于查看正在进行的日志信息,可以实时的观察到错误日志的输出。
tail -n:显示文件的最后 n 行数据,默认10行,示例:tail -n 100 info.log
tail -c:显示文件的最后 n 个字符,示例:tail -c 100 info.log
tail -F:与-f类似,但是当文件被删除并重新创建时,tail命令能够自动恢复并输出新文件的内容。
tail -q:不输出文件名
grep:用于在文件中查找指定内容。如:grep ‘test’ info.log
grep ‘test’ /home/sankuai/test.txt:在文件中查找包含指定内容的行。
grep -v ‘test’ /home/sankuai/test.txt:在文件中查找不包含指定内容的行。
grep -r ‘test’ /home/sankuai:在指定目录下的所有子目录中递归查询包含关键字的行。
grep -n ‘test’ /home/sankuai/test.txt:在查找到的行前显示行号。
grep -i ‘test’ /home/sankuai/test.txt:忽略大小写,查找包含关键字的行。
grep -c ‘test’ /home/sankuai/test.txt:只显示匹配到的行数量。
GC问题排查指令:https://www.jianshu.com/p/fab234574603
jps:获取进程id
jstat -gcutil pid 3000:每3秒输出一次gc情况
jmap -heap pid:堆使用情况
jmap -dump:format=b,file=test.hprof pid 生成堆dump文件
jstack pid > jstack.log 栈快照保存,如果cpu较高可生产栈快照jsta
二、文件相关操作命令
查询文件行数:wc -l test.txt
查日志:grep “test” info.log
文件操作命令:
创建文件夹:mkdir file
创建文件:touch filename
修改文件权限:sudo chmod 777 /home/sankuai
sftp文件上传和下载
- 本地切换到存放文件的目录下,在此目录下登录sftp:sftp xxx@xxx.com,回车输入密码登录
- 上传文件到sftp:put data.txt
- 在远程机器上登录sftp服务器,下载文件:get data.txt
切换用户
sudo -iu sankuai:以超级管理员的权限执行命令,切换当前用户为sankuai用户,并将当前所在的shell环境变量设置为sankuai用户的环境变量。