前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天必用的几个小命令

每天必用的几个小命令

作者头像
老七Linux
发布2018-05-09 16:15:07
1K2
发布2018-05-09 16:15:07
举报

常见工作中,计算机系统的资源主要包括CPU,内存,硬盘以及网络,过度使用这些资源将使系统陷入困境。事实上,当上述服务器系统资源中的任何一个遭遇瓶颈,都会带来服务器性能的下降,典型的症状就是系统运行迟缓。

内存负载:

free -m 以MB为单位显示整个系统的内存使用情况;

free -h 则自动选择以适合理解的容量单位显示:

top -c 命令用来动态查看具体进程消耗的内存空间,以及查看不同进程对于CPU、内存等资源的使用情况。


cpu负载:

使用w查看系统负载;

默认情况下,top -c命令是以CPU使用率由高到低排序显示进程信息的,在 top 信息界面按 K 键,并输入想要终止的PID,就可以直接杀死指定进程。按M(大写)就可以按照内存占用。

sar命令查看当天CPU使用

sar -r 查看一天(每隔10分钟)内存的使用量

sar -b命令查看当天IO统计记录


I/O负载:

当磁盘无法写入的时候,一般有以下可能:
  1. 文件系统只读
  2. 磁盘已满
  3. I节点使用完

df -h查看当前已挂载的所有分区及使用情况

当df显示磁盘空间充足,但文件系统却报错自己已满,无法写入时,需要检查是否耗尽了I节点。

df -i 可以查看I节点的使用情况。

一旦遇到I节点用光的情形,有以下几种选择:

1. 删除大量文件

2. 将大量文件移动到其他的文件系统中;

3. 将大量的文件压缩成一个文件;

4. 备份当前文件系统中的所有文件,重新格式化之前的硬盘,获得更多的I节点,再将文件复制回去。

总结:

 怀疑 CPU 存在瓶颈,可用 sar -u 和 sar -q 等来查看;

 怀疑内存存在瓶颈,可用 sar -B、 sar -r 和 sar -W 等来查看;

 怀疑 I/O 存在瓶颈,可用 sar -b、 sar -u 和 sar -d 等来查看;


网络负载:

  1. 如果是网络不通,要定位具体的问题,一般是不断尝试排除不可能故障的地方,最终定位问题根源。一般需要查看

是否接入到链路

是否启用了相应的网卡

本地网络是否连接

DNS故障

能否路由到目标主机

远程端口是否开放

2. 如果是网络速度慢,一般有以下几个方式定位问题源:

DNS是否是问题的源头

查看路由过程中哪些节点是瓶颈

查看带宽的使用情况

一、网络不通

一般来说当存在网络不通的故障时,访问出端和入端的信息是我们都要收集的,目的在于确定问题所在的主机或者区段。假如a不能访问c而b能够访问c,那么很明显问题出在a或a到c的网络上,而通过同一子网中的几台机器a、b可以正常访问网络,却不能访问c,那么可能是这个网络到c存在问题,或c存在问题。

定位了问题所在的主机,一般有一些步骤来逐渐缩小问题范围,最终定位问题:

  1. 链路是否连通

即检查网卡与网络是否物理连通,网线是否插好且连接可用,很多时候不能立刻到机房确定物理连接,可以用命令:

代码语言:javascript
复制
# ethtool ens33

Settings for ens33:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: off (auto)
	Supports Wake-on: d
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

ens33是连接到故障网络的网卡; 如果 Duplex: Full被设置成了Half,可以手动将其改为全双工网络:

代码语言:javascript
复制
# ethtool -s ens33 autoneg off duplex full

使用route -n 命令查看内核路由表

route -n 以IP而不是主机名的形式显示网关等信息,一方面更快,另一方面不涉及DNS,通过route命令查看内核路由,检验具体的网卡是否连接到目标网路的路由,之后就可以尝试ping 网关,排查与网关之间的连接。

如果无法ping通网关,可能是网关限制了ICMP数据包,或者交换机设置的问题。


通常很多网络问题是DNS故障或配置不当造成的,nslookup和dig命令能够用来排查DNS问题,

使用nslookup命令查看DNS解析:

代码语言:javascript
复制
# nslookup baidu.com

互谅网是通过大量路由器中继连接起来的,网络的访问就是在这些节点间一跳一跳最终到达目的地,想要查看网络连接,最直接最常用的命令是ping,ping得通,说明路由工作正常,但是如果ping不通,traceroute命令可以查看从当前主机到目标主机的全部“跳”的过程。traceroute和ping命令都是使用ICMP协议包。

使用traceroute追踪路由状况:

代码语言:javascript
复制
# traceroute www.baidu.com

1. 网卡是否工作,包括硬件和驱动:lspci,dmesg

2. IP参数是否正确设置:ifconfig

3. 局域网内通信是否正常:ping

4. 路由信息是否正常:route -n

5. DNS状态:dig, nslookup

6. 路由节点状况与延时:traceroute

7. 服务监听端口:netstat -lnp

8. 防火墙:iptables, SELinux


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016/08/21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内存负载:
  • cpu负载:
  • I/O负载:
    • 当磁盘无法写入的时候,一般有以下可能:
      • 当df显示磁盘空间充足,但文件系统却报错自己已满,无法写入时,需要检查是否耗尽了I节点。
        • 总结:
        • 网络负载:
          • 一、网络不通
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档