文档章节

每天必用的几个小命令

是江山
 是江山
发布于 2017/08/22 16:55
字数 1445
阅读 20
收藏 0

##简介

常见工作中,计算机系统的资源主要包括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负载:

当磁盘无法写入的时候,一般有以下可能:

  • 文件系统只读
  • 磁盘已满
  • I节点使用完

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

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

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

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

  • 删除大量文件

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

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

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

总结:

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

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

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

##网络负载:

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

  • 是否接入到链路

  • 是否启用了相应的网卡

  • 本地网络是否连接

  • DNS故障

  • 能否路由到目标主机

  • 远程端口是否开放

  1. 如果是网络速度慢,一般有以下几个方式定位问题源:
  • DNS是否是问题的源头

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

  • 查看带宽的使用情况

一、网络不通

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

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

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

# 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,可以手动将其改为全双工网络:

# ethtool -s ens33 autoneg off duplex full

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

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

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

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

使用nslookup命令查看DNS解析:

nslookup baidu.com

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

使用traceroute追踪路由状况:

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

本文转载自:http://www.okay686.cn/589

共有 人打赏支持
上一篇: MySQL (二)
下一篇: MySQL (一)
是江山
粉丝 4
博文 44
码字总数 24060
作品 0
苏州
运维
私信 提问
我想搭建一个百万级文件的文件服务器用那些技术比较好?

存储的文件主要有50K左右的图片,还有APK,大小不定几十兆的居多吧也有1,2G的大文件,数百兆的也有。现在用的Windows Server 2008 做的文件服务器想换成linux的分布式的有必要么?访问量暂时...

LittleJ
2014/07/17
9.7K
15
Linux Tar 命令压缩解压缩参数详细指南

解压 语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。 主选项: c 创建新的档案文件。如果用户想备份一...

任远
2010/11/01
0
0
Google Reader 新增全屏显示模式

Google Reader 是我每天必用的工具网站之一,大量的新闻都通过它汇聚起来,否则一个个去找会把我累趴下。 通过 F 键,你可以在 Google 阅读器中切换全屏模式或者恢复浏览模式。这是 Google R...

红薯
2010/08/31
897
3
linux常用的压缩和解压命令

tar 可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被 用来在磁带上创建档案,现在,用户可以...

宏伟的版图
2017/08/23
0
0
Linux下crontab命令的用法

任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便...

神勇小白鼠
2010/12/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
今天
2
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
3
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
3
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
今天
3
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部