排查线上问题必备的 6 个 Linux 命令!

本文介绍了Linux系统监控命令,如top、free、iostat、netstat和df,讲解了它们的用途和关键信息。同时推荐了SpringBoot和SpringCloud的实战项目,并分享了相关面试题和资源。

点击上方“芋道源码”,选择“设为星标

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:cnblogs.com/cjsblog/p/9562380.html


1、top

相当于Windows任务管理器

可以看到,输出结果分两部分,前5行是总览,下面是具体的进程资源占用情况。

下面逐行看一下

第1行

top - 18:14:58 up 112 days, 1:35, 1 user, load average: 0.00, 0.10, 0.11

依次表示:当前时间、系统已经运行的时间、当前登录的用户数、系统在过去的1分钟,5分钟,15分钟的负载

PS:从这一行我们可以知道以下信息:

  • 当前时间是18:14:58

  • 系统运行了112天1小时35分钟

  • 当前有1个用户登录

  • 在过去1分钟,5分钟,15分钟的负载分别是0.00, 0.10, 0.11

负载超过1,则表示超负荷

第2行

Tasks: 225 total,  1 running, 224 sleeping,  0 stopped,  0 zombie

进程信息

  • total    进程总数

  • running   运行中的进程数

  • sleeping  睡眠中的进程数

  • stopped  停止的进程数

  • zombie   僵尸进程数

PS:从这一行我们可以知道,当前总共225个进程

第3行

Cpu(s): 1.8%us, 0.9%sy, 0.0%ni, 97.1%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st

CPU使用情况

us :用户进程占用CPU百分比

sy :内核进程占用CPU百分比

ni :改变过优先级的进程占用CPU百分比

id :空闲CPU百分比

wa :IO等待的进程占用CPU百分比

hi :硬中断占用CPU的百分比

si :软中断占用CPU的百分比

st :

第4行

Mem: 32879852k total, 23633040k used, 9246812k free,  311552k buffers

物理内存使用情况

  • total  总的内存大小

  • used  已使用

  • free  未使用

  • buffers  内核缓冲区

可用内存 = free + buffers + cached

第5行

Swap: 4194300k total,  255104k used, 3939196k free, 10422508k cached

虚拟内存使用情况

其余行

推荐下自己做的 Spring Boot 的实战项目:

https://github.com/YunaiV/ruoyi-vue-pro

2、free -m

查看已使用和未使用的内存情况

Mem  total = used + free

Swap  total = used + free

可用内存 = free + buffers + cached

(-buffers/cache) used内存数 = Mem行中的 used – buffers – cached

(+buffers/cache) free内存数 = Mem行中的 free + buffers + cached

推荐下自己做的 Spring Cloud 的实战项目:

https://github.com/YunaiV/onemall

3、iostat

Java 程序员必须掌握的常用 Linux 命令

格式:iostat [ 选项 ] [ <时间间隔> [ <次数> ]]

示例:

iostat -d

iostat -d 2 2

iostat -x 1 2

4、netstat

要特别关注一下“ESTABLISHED”的数量,如果ESTABLISHED越多,表示建立的连接越多,如果一直居高不下,那么就要引起注意了,因为系统对打开的连接数是有限制的。另外,Linux 系列面试题整理好了,微信搜索Java技术栈,在后台发送面试可以获取哦。

常见应用

1、查看连接数最多的IP
netstat -na | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c
2、统计TCP不同状态的连接数
netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 

5、df -h

查看文件系统磁盘空间使用情况

6、du -sh

查看(计算)文件大小

还可以这样:du --max-depth=2 --block-size=M

或者:ll --block-size=M

- END -

欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值