文档章节

每天必用的几个小命令

是江山
 是江山
发布于 2017/08/22 16:55
字数 1445
阅读 17
收藏 0
点赞 0
评论 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

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

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

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

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

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

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

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

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

宏伟的版图
2017/08/23
0
0
Linux帮助使用方法详解

首先要弄明白一点,个人认为Linux里的帮助不是为了让我们使用它学习新知识,而是帮助我们复苏记忆。 有多种方式的帮助如下: help --help 或者 -h man /usr/share/doc info help bash 内建命...

CrazyWing
2017/11/20
0
0
Linux使用logrotate来切割日志文件

程序在运行的时候为了了解运行状态,会输出日志文件,时间久了日志文件会变得非常大,甚至达到GB级别。我在golang应用里使用logrus包来打日志,配置和使用都很方便,就是没有日志分割的功能,...

qianghong000
2017/11/20
0
0
Linux下crontab命令的用法

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

神勇小白鼠
2010/12/24
0
0
有没有和OSC翻译频道类似的“在线翻译平台”源码

OSC的翻译频道不错,每天必看。http://www.oschina.net/translate 译言网和东西网也是每天必看。 类似于这种在线翻译平台,有没有开源的实现。

modernizr
2014/11/11
88
2
写给iOS程序员的命令行使用秘籍

Mac OS是Unix系统的分支,有着强大的命令行功能。很多事情在命令行下处理会事半功倍,所以我就iOS程序员可能会用到的功能讲述一下。 终端设置 Mac的终端有一个很关键的配置,就是“使用 Opti...

刘星石
2016/03/03
26
0
MySQL必知必会(1):了解Mysql

本文主要介绍Mysql最基础知识:Mysql基本概念。 1.1 数据库基础 1.1.1 简介 数据库,从字面意思来理解就是一个用来装数据的容器。每天我们都在和数据库打交道,比如你每天打开APP浏览新闻,浏...

星空幻颖
2017/01/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MacOS和Linux内核的区别

导读 有些人可能认为MacOS和Linux内核有相似之处,因为它们可以处理类似的命令和类似的软件。甚至有人认为苹果的MacOS是基于linux的。事实上,这两个内核的历史和特性是非常不同的。今天,我...

问题终结者
18分钟前
1
0
SpringBoot | 第八章:统一异常、数据校验处理

前言 在web应用中,请求处理时,出现异常是非常常见的。所以当应用出现各类异常时,进行异常的捕获或者二次处理(比如sql异常正常是不能外抛)是非常必要的,比如在开发对外api服务时,约定了响...

oKong
26分钟前
0
0
mysql高级

一、存储引擎 InnoDB MyISAM 比较 二、数据类型 整型 浮点数 字符串 时间和日期 三、索引 索引分类 索引的优点 索引优化 B-Tree 和 B+Tree 原理 四、查询性能优化 五、切分 垂直切分 水平切分...

丁典
47分钟前
1
0
rsync通过同步服务、系统日志、screen工具

rsync通过后台服务同步 在远程主机中建立一个rsync服务器,在服务器上配置好rsync的各种应用,然后将本机作为rsync的一个客户端连接远程的rsync服务器。 首先在A机器上建立并且配置rsync的配...

黄昏残影
今天
5
0
Spring Cloud Gateway 接口文档聚合实现

在微服务架构下,通常每个微服务都会使用Swagger来管理我们的接口文档,当微服务越来越多,接口查找管理无形中要浪费我们不少时间,毕竟懒是程序员的美德。 由于swagger2暂时不支持webflux 走...

冷冷gg
今天
123
2
流利阅读笔记31-20180720待学习

克罗地亚:输了世界杯,却赢了全世界 雪梨 2018-07-20 1.今日导读 1998 年,年轻的克罗地亚国家队在法国世界杯给全世界留下了不可磨灭的印象,格子军团一举夺得了季军。4 年后,克罗地亚折戟...

aibinxiao
今天
5
0
OSChina 周五乱弹 —— 我们是食物链的最底层

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @温家成 :分享谢安琪的单曲《姿色份子》 《姿色份子》- 谢安琪 手机党少年们想听歌,请使劲儿戳(这里) @贪吃飒:最近p2p怎么了、半个月爆了...

小小编辑
今天
959
14
Android Studio 3.0 之后打包apk出现应用未安装问题

1、废话 出现这个问题的原因,并不是只有一个,而是有多个原因,不懂的估计会被搞得一头雾水,下面我列举的是我遇到的几种问题和网友遇到的几种问题,但不一定是全部,也有可能有些莫名其妙的...

她叫我小渝
今天
0
0
前端基础

1. get请求传参长度的误区 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是...

wenxingjun
今天
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部