自动化运维最强命令(二)


  • ping 测试主机是否存活
[root@vagrant-centos65 ~]# ping IP地址
参数:
-c:次数
-s:数据包的大小
-i:间隔(单位秒)

  • ip addr 和 ifconfig 查看 ip 地址
[root@vagrant-centos65 ~]# ifconfig
[root@vagrant-centos65 ~]# ip addr

  • top 动态方式查看进程状态
[root@vagrant-centos65 ~]# top
参数:
h:显示帮助画面,给出一些剪短的命令总结说明
k:终止一个程序。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一   般的终止进程可以使用 15 信号;如果不能正常结束那就使用信号 9 强制结束该进程。默认值是    信号15.在安全模式中此命令被屏蔽
m:切换显示进程和 CPU 状态信息
t:切换显示进程和 CPU 状态信息
c:切换显示命令名称和完整命令行
M:根据驻留内存大小进行排序
P:根据 CPU 使用百分比大小进行排序
T:根据时间 V 累计时间进行排序
W:将当前设置写入 ~/.toprc 文件中。这是写 top 配置文件的推荐方法

  • ps 查看进程状态 以静态的方式
参数:
-a:显示其他用户启动的进程
-u:启动这个进程的用户和它启动的时间
-x:查看系统中属于自己的进程
-f:显示进程的父子关系
USER   启动进程用户身份
PID    进程号
%CPU   CPU的利用率
%MEM   内存的利用率
VSZ    预留分配的虚拟内存
RSS    真实分配的内存
TTY    在哪个终端启用的进程
STAT   当前进程的状态
D    :运行中的进程
R    :运行中的进程
S    :可中断的睡眠
T    :停止或被追踪
Z    :僵尸进程
X    :死掉的进程
<    :高优先级别的进程
nVN  :低优先级别的进程
s    :是一个进程组,代表还有子进程
+    :前台进程
START   进程启动时间
TIME    进程运行了多长时间
COMMAND 用什么命令启动的进程
ps -elf
-e:   显示所有进程
-l:   长格式
-f:   全格式
找出内存消耗最多的前 10 名进程
ps -auxf | sort -nr -k | head -10
找出使用 CPU 最多的前 10 名进程
ps -auxf | sort -nr -k 3 | head -10

  • netstat 查看本机开放的端口
-t tcp连接
-u udp
-n  不作反解
-l  侦听
-p  进程号
-a 所有
netstat -anp    TCP/UDP/socket监听列表,对应网络连接列表
netstat -tnp    TCP 的网络连接状态
netstat -tnlp   所有 TCP 的侦听列表
netstat -unp    UDP 的网络连接
netstat -unlp   UDP 的侦听列表
netstat -tunlp  TCP/UDP 侦听列表
netstat -rn     查询路由表
UNIX/类UNIX有三种连接:
1.TCP 面向连接
2.UDP 面向无连接
3.socket 通常也称作“套接字”,应用程序通常通过“套接字”相网络发出请求或者应答网络请求

  • nmap 端口扫描工具
nmap -p1 -65535                iptables 扫描 1-65535 所有的端口
nmap -PS 172.16.85.0/24        扫描网段中所有已激活的主机的端口,IP 地址和 MAC地址
nmap -sO 192.168.1.19          确定目标机支持哪些协议 IP (TCP,ICMP,IGMP等)
namp -O 172.16.85.14           扫描目标主机的操作系统

常用指令的安装及使用

iostat

​ iostat通过观察设备的活跃时间和他们平均传输率之间的关系来监视系统的输入/输出设备负载。iostat生成的报告可以用于修改系统配置从而更好在物理硬盘间平衡输入/输出的报告。

安装 iostat
在 redhat / CentOS / Fedora
# yum install sysstat

在 Debian / Ubuntu / Linux Mint
$ sudo apt-get install sysstat

iostat
参数:
-O:只显示 I/O 操作进程
-b:批量显示,无交互,主要用作记录到文件
-n NUM:显示 NUM 次,主要用于非交互式模式
-d SEC:间隔 SEC 秒显示一次
-p PID:监控的进程 PID
-u USER:监控的进程用户

iotop 找出使用 I/O 最高的应用程序
iotop 常用快捷键:
左右箭头:改变排序方式,默认是按 I/O 排序
r:改变排序顺序
O:只显示有 I/O 输出的进程
p:进程 V 线程的显示方式的切换
a:显示累计使用量
q:退出

读取 iostat 信息

[root@vagrant-centos65 ~]# iostat
Linux 2.6.32-431.3.1.el6.x86_64 (vagrant-centos65.vagrantup.com)        03/04/2017      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.31    0.09    0.25    0.27    0.00   99.08

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.64        25.60        12.93     334738     169064
sdb               0.04         0.33         0.00       4264          0

第一部分包含了 CPU 报告

  • %user:显示了在执行用户(应用)层时的 CPU 利用率
  • %nice:显示在以 nice 优先级运行用户层的 CPU 利用率
  • %system:显示在执行系统(内核)层时的 CPU 利用率
  • %iowait:显示 CPU 在 I/O 请求挂起时空闲时间的百分比
  • %steal:显示了当 hypervisor 正服务于另一个虚拟处理器时无意识地等待 CPU 所占用的时间百分比
  • %idle:CPU 在 I/O 没有挂起请求时空闲时间的百分比

第二部分包含设备利用率报告

  • Device:列出的 /dev 目录下的设备/分区名称
  • tps:显示每秒传输给设备的数量。更高的 tps 意味着处理器更忙
  • Blk_read/s:每秒从设备上读取的块的数量(KB,MB)
  • Blk_wrtn/s:每秒写入设备上的块的数量(KB,MB)
  • Blk_read:显示所有已读的块
  • Blk_wrtn:显示所有写入的块

以 KB 或 MB捕捉 iostat

​ 默认上,iostat 以 B 为单位衡量 I/O 系统。为了更便于阅读,我们可以 iostat 将报告转成以 KB 或者 MB为单位。只需要加入 -k 参数老创建以 KB 为单位,-m参数来创建以 MB 为单位。如下

[root@vagrant-centos65 ~]# iostat -k
Linux 2.6.32-431.3.1.el6.x86_64 (vagrant-centos65.vagrantup.com)        03/04/2017      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          30.23    0.00   12.59    0.14    0.00   57.04

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.40         9.64         8.16     166381     140880
sdb               0.03         0.12         0.00       2132          0

[root@vagrant-centos65 ~]# iostat -m
Linux 2.6.32-431.3.1.el6.x86_64 (vagrant-centos65.vagrantup.com)        03/04/2017      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          30.17    0.00   12.56    0.14    0.00   57.13

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0.41         0.01         0.01        162        140
sdb               0.03         0.00         0.00          2          0

要扩展报告,我们可以在 iostat 后面跟上 -x选项

[root@vagrant-centos65 ~]# iostat -x
Linux 2.6.32-431.3.1.el6.x86_64 (vagrant-centos65.vagrantup.com)        03/04/2017      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          30.03    0.00   12.51    0.14    0.00   57.32

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.10     1.90    0.24    0.17    19.15    16.53    88.02     0.01   22.21    8.59   41.45   5.55   0.23
sdb               0.00     0.00    0.03    0.00     0.25     0.00     8.49     0.00    1.24    1.24    0.00   1.23   0.00

iostat 的一些参数说明:

iostat -c 1 10         # 获取 CPU 状态
$iostat -d -k 1 10     # 查看 TPS 和吞吐量
iostat -d -x -k 1 10   # 查看设备使用率(%util)、响应时间(await)

rz / sz

​ rz、sz 是 Linux/Unix 同 Windows 进行 Zmodem 文件传输的命令行工具。优点:不再开一个sftp工具登入上去上传下载文件。

​ rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器 ​ 安装命令

​ sz:将选定的文件发送(send)到本地机器

  • 编译安装

    root 账户登录后,依次执行以下命令:

cd /tmp
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install

​ 上面安装过程默认把 lsz 和 lrz 安装到了 /usr/local/bin/目录下,现在我们不能直接使用,下面创建软链接,并命名为 rz/sz

cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz

  • yum 安装

    root 账户登入后执行以下命令:

    yum install -y lrzsz
    
    

使用方法:

​ sz 命令发送文件到本地:

# sz filename

​ rz 命令本地上传到服务器:

# rz

​ 执行命令后,在弹出框中选择要上传的文件即可

SecureCRT设置默认路径: Options -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories

Xshell设置默认路径: 右键会话 -> 属性 -> ZMODEM -> 接收文件夹

注意:SecureCRT可以方便的上传下载文件,而Xshell没有菜单选择

netstat

netstat命令英语显示各种网络相关信息,如网络连接、路由表接口状态(Interface Statistics),masquerade连接,多播成员(Multicast Memberships)等等。

[root@vagrant-centos65 ~]# netstat
常用参数:
-a:(all)显示所有选项,默认不显示LISTEN相关
-t:(tcp)仅显示 tcp 相关选项
-u:(udp)仅显示 udp 相关选项
-l:仅列出有在 Listen(监听)的服务状态

-p:显示简历相关链接的程序名
-r:显示路由信息,路由表
-e:显示扩展信息,例如 uid 等
-s:按各个协议进行统计
-c:每隔一个固定时间,执行该 netstat 命令
注:LISTEC 和 LISTENING 的状态只有用 -a 或者 -l 才能看到

用法如下:

  • 列出所有端口号(包括监听和未监听)
# netstat -a      列出所有端口
# netstat -at      列出所有 tcp 端口
# netstat -au      列出所有 udp 单口

  • 列出所有处于监听状态的 sockets
# netstat -l      只显示监听端口
# netstat -lt     只列出所有监听 tcp 端口
# netstat -lu     只列出所有监听 udp 端口
# netstat -lx     之列吃所有监听 UNIX 端口

  • 显示每隔协议的统计信息
# netstat -s      显示所有端口的统计信息
# netstat -st      显示 tcp 端口的统计信息
# netstat -sc      显示 udp 端口的统计信息

  • 在 netstat 输出中显示 PID 和进程名称
# netstat -pt

  • 显示核心路由信息
# netstat -r

  • 找出程序运行的端口

    并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

# netstat -ap | grep ssh

  • 找出运行在指定端口的进程
# netstat -an | grep ':80'

  • 显示网络接口列表
# netstat -i

ss

ss 即 socket state,也就是说,是可以查看系统中 socket 的状态的,我们可以用netstat的,但为什么还要用 ss这个工具呢?当然 ss自然有它的优点,当我们打开的 socket 数量很多时,netstat就会变得很慢。

​ netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

[root@vagrant-centos65 ~]# ss -h
Usage: ss [ OPTIONS ]
       ss [ OPTIONS ] [ FILTER ]
   -h, --help           this message
   -V, --version        output version information
   -n, --numeric        don't resolve service names
   -r, --resolve       resolve host names
   -a, --all            display all sockets
   -l, --listening      display listening sockets
   -o, --options       show timer information
   -e, --extended      show detailed socket information
   -m, --memory        show socket memory usage
   -p, --processes      show process using socket
   -i, --info           show internal TCP information
   -s, --summary        show socket usage summary

   -4, --ipv4          display only IP version 4 sockets
   -6, --ipv6          display only IP version 6 sockets
   -0, --packet display PACKET sockets
   -t, --tcp            display only TCP sockets
   -u, --udp            display only UDP sockets
   -d, --dccp           display only DCCP sockets
   -w, --raw            display only RAW sockets
   -x, --unix           display only Unix domain sockets
   -f, --family=FAMILY display sockets of type FAMILY

   -A, --query=QUERY, --socket=QUERY
       QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]

   -D, --diag=FILE      Dump raw information about TCP sockets to FILE
   -F, --filter=FILE   read filter information from FILE
       FILTER := [ state TCP-STATE ] [ EXPRESSION ]

常用的ss命令

ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP socekt
ss -s 列出当前socket详细信息
ss -o state established '( dport = :http or sport = :http )'  列出所有http连接中的连接
ss src ADDRESS_PATTERN    使用IP地址筛选
    src:表示来源       ADDRESS_PATTERN:表示地址规则

ss dport OP PORT     端口筛选
  OP:是运算符
  PORT:表示端口
  dport:表示过滤目标端口、相反的有sport
  OP运算符如下:
  <= or le : 小于等于 
  >= or ge : 大于等于
  == or eq : 等于
  != or ne : 不等于端口
  < or lt : 小于这个端口 > or gt : 大于端口

lsof

lsof(list open files)是一个列出当前系统打开文件的工具。在Linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以,lsof的功能很强大。一般 root 用户才能执行lsof命令,普通用户可以看见/usr/sbin/lsof命令,但是普通用户执行会显示“permission denied”。因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

# yum -y install losf

​ 在终端下输入lsof即可显示系统打开的文件,因为lsof需要访问核心内存和各种文件的身份,来运行它才能够充分地发挥其功能。即需要 root 权限

[root@vagrant-centos65 ~]# lsof
用法:
lsof abc.txt      显示开启文件abc.txt的进程
lsof directory    查找谁在使用文件目录系统
lsof -i:22        查找22端口被哪个进程占用
lsof -c abc       显示abc进程现在打开的文件
lsof -g gid       显示归属gid的进程情况
lsof -p 12        看进程为12的进程打开了哪些文件
lsof -u username  查看用户打开了哪些文件
lsof -i @192.168.1.111    查看远程已打开的网络连接(连接到192.168.1.111)

Vim 编辑器

将 vi 替换为 vim

[root@vagrant-centos65 ~]# echo 'alias vi=vim' >>/etc/profile
[root@vagrant-centos65 ~]# tail -1 /etc/profile
alias vi=vim
[root@vagrant-centos65 ~]# source /etc/profile

  • vim 路径等配置知识
.viminfo                         用户使用 vim 的操作历史
.vimrc                           当前用户 vim 的配置文件
/etc/vimrc                       系统全局 vim 的配置文件
/usr/share/vim/vim74/colors/     配色模板文件存放路径   

常用 vim 按键说明

[Ctrl] + [f]: 屏幕向下移动一页,相当于 [Page Down]按键
[Ctrl] + [f]: 屏幕向上移动一页,相当于 [Page Up]按键
0或功能键[Home]: 这是数字“0”,移动到这一行的最前面字符处
$或功能键[End]: 移动到这一行的最后面字符处
G: 移动到这个文件的最后一行
N[Enter]: n为数字。光标向下移动 n 行
:n1,n2s/word1/word2/g    n1和n2为数字。在第n1和n2行之间寻找word1这个字符串,并将该字符串替换为word2。例如:在100到200行之间查找 mac并替换为 MAC则用":10,200s/mac/MAC/g"  
:1,$s/word1/word2/g     从第一行到最后一行查找 word1 字符串,并将该字符串替换为 word2。
:1,$s/word1/word2/gc    从第一行到最后一行查找 word1 字符串,并将该字符串替换为 word2。且在替换前显示提示字符给用户确认(confirm)是否需要替换
x,X:   在一行字中,x 为向后删除一个字符(相当于[Del]按键),X 为向前删除一个字符(相当于[Backspace])
dd:    删除光标所在的那一行
ndd:   n为数字。删除光标所在的向下n行,例如 20dd 则是删除 20 行
yy:    复制光标所在的那一行
nyy:   n为数字。复制光标所在的向下n行,例如20yy则是复制20行
p,P:   p为将已复制的数据在光标下一行粘贴,P为粘贴在光标上一行。例如:我目前光标在 20 行,且已经复制了 10 行数据。则按下 p 后,那 10 行数据会粘贴在原本的 20 行之后,也即由 21 行开始粘贴。但如果是按下 P 呢?那么原本的第 20 行会被变成 30 行
u:     复原前一个操作
[Ctrl] + r:     重做上一个操作
. :    小数点。重复前一个操作的意思。如果想要重复删除、重复粘贴等操作,按下小数点 "." 就好了

:w         将编辑的数据写入硬盘文件中
:w!        若文件属性为 “只读” 时,强制写入该文件。不过,到底能不能写入,还是跟你对该文件的文件权限有关
:q         离开 vi
:q!        若曾修改过文件,又不想存储,使用 "!" 为强制离开不保存的文件
注意: "!" 在 vi 中具有 “强制” 的意思
wq:        保存后离开,若为 "wq!" 则为强制保存后离开
:set nu    显示行号,设置之后会在每一行的前缀显示改行的行号
:set nonu  与 set nu 相反,为取消行号

  • bash 环境中一些特殊符号总结
符号 内容
# 批注符号,最常用在 script 当中,视为说明。气候的数据均不执行
\ 转义字符,将“特殊字符或通配符”还原成一般字符
管道(pipe),分隔两个管道命令的界定
; 连续命令执行分隔符,连续性命令的界定(注意:与管道符不同)
~ 用户的主文件夹
$ 使用变量前导符,即变量之前需要加的变量替代值
& 作业控制(job control),将命令变成背景下工作
! 逻辑运算意义上的 “非” (not)的意思
/ 目录符号,路径分隔的符号
>,>> 数据流重定向,输出导向,分别是“替换”和“累加”
<,<< 数据流重定向,输入导向
' ' 单引号,不具有变量替换的功能
"" 具有变量置换的功能
`` 两个" ` "中间为可以执行的命令,也可使用$()
( ) 在中间为子 shell 的起始与结束
{ } 在中间为命令块的组合

注意:设置文件名时尽量不要用到上述的字符。

Shell script

  • 选取命令cut,grep
[root@vagrant-centos65 ~]# cut -d'分隔字符' -f fields
[root@vagrant-centos65 ~]# cut -c 字符范围
参数:
-d:后面接分隔字符,与 -f 一起使用
-f:依据 -d 分隔字符将一段信息切割成为数段,用 -f 去除第几段的意思
-c:以字符(characters)的单位取出固定字符区间

[root@vagrant-centos65 ~]# grep [-acinv] [--color=auto] '查找字符串' filename
参数:
-a:将 binary 文件以 text 文件的方式查找数据
-c:计算找到 '查找字符串' 的次数
-i:忽略大小写的不同,所以大小写视为相同
-n:顺便输出行号
-v:反向选择,即显示出 '查找字符串' 内容的那一行
--color=auto:可以将找到的关键字部分加上颜色显示

  • 排序命令: sort,wc,uniq
[root@vagrant-centos65 ~]# sort [-fbMnrtuk] [file or stdin]
参数:
-f:忽略大小写的差异,例如 A 与 a 视为编码相同
-b:忽略最前面的空格符部分
-M:以月份的名字来排序,例如 JAN, DEC 等的排序方法
-n:使用 “纯数字” 进行排序(默认是以文字类型来排序)
-r:反向排序;
-u:就是 uniq,相同的数据中,仅出现一行代表
-t:分隔符,默认是用 [Tab] 键来分隔
-k:以那个区间(field)来进行排序的意思

[root@vagrant-centos65 ~]# uniq [-ic]
参数:
-i:忽略大小写字符的不同
-c:进行计数

[root@vagrant-centos65 ~]# wc [-lwm]
参数:
-l:仅列出多少行
-w:仅列出多少字(英文单字)
-m:多少字符

  • 双向重定向:tee
[root@vagrant-centos65 ~]# tee [-a] file
参数:
-a:以累加(append)的方式,将数据加入 file 当中

  • 字符转换命令:tr,col,join,paste,expand
[root@vagrant-centos65 ~]# tr [-ds] SET1 ...
参数:
-d:删除信息当中 SET1 这个字符串
-s:替换掉重复的字符

[root@vagrant-centos65 ~]# col [-xb]
参数:
-x:将 tab 键转换成对等的空格键
-b:在文字内有反斜杠(/)时,仅保留反斜杠最后接的那个字符

[root@vagrant-centos65 ~]# join [-ti12] file1 file2
参数:
-t:join 默认以空格符分隔数据,并且对比 “第一字段”的数据,如果两个文件的内容相同,则将两条数据连成一行,且第一份字段放在第一个
-i:忽略大小写的差异
-1:数字1:。代表第一个文件要用哪个字段来分析的意思
-2:代表第二个文件要用哪个字段来分析的意思
注意:在使用 join 之前,所需要处理的文件应该要实现经过排序 (sort)处理,否则有些对比的项目会被略过

[root@vagrant-centos65 ~]# paste [-d] file1 file2
参数:
-d:后面可以接分隔字符、默认是以 [tab] 来分隔的
- :如果 file 部分写成 - ,表示来自 standard input 的数据的意思

[root@vagrant-centos65 ~]# expand [-t] file
参数:
-t:后面可以接数字。一般来说,一个 [tab] 按键可以用 8 个空格键替换,我们也可以自行定义一个 [tab] 按键代表多少个字符

  • 切割命令:split
[root@vagrant-centos65 ~]# split [-bl] file PREFIX
参数:
-b:后面可接欲切割成的文件大小,可加单位,例如 b,k,m 等
-l:以行数来进行切割
PREFIX:代表前导符,可作为切割文件的前导文字

  • sed 工具
[root@vagrant-centos65 ~]# sed [-nefr] [动作]
参数:
-n:使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行(或者操作)才会被列出来
-e:直接在命令行模式上进行 sed 的动作编辑
-f:直接将 sed 的动作支持写在一个文件内, -f filename 则可以执行 filename 内的 sed 动作
-r:sed 的动作支持的是扩展型正则表达式的语法(默认是基础正则表达式语法)
-i:直接修改读取的文件的内容,而不是由屏幕输出
动作说明:  [n1[,n2]]function
n1, n2:不见得会存在,一般代表选择进行动作的行数,举例说,如果我的动作是需要在 10 到 20 行之间进行的,则“ 10,20[动作行为]”

function 有下面这些参数:
a   :新增,a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行)
c   :替换,c 的后面可以接字符串,这些字符串可以替换 n1,n2之间的行
d   :删除,因为是删除,所以 d 后面通常不接任何参数
i   :插入,i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行)
p   :打印,也就是将某个选择的数据打印出来。通常 p 会与参数 sed -n 一起运行
s   :替换,可以直接进行替换的工作。通常这个 s 的动作可以搭配正则表达式!例如 1,20s/old/new/g 就是。

  • awk工具
[root@vagrant-centos65 ~]# awk '条件类型1{动作1} 条件类型2{动作2} ...' filename

awk后面接两个单引号并加上大括号{}来设置想要对数据进行的处理动作。awk可以处理后续接的文件,也可以读取来自前个命令的 standard output 。但如前面所说,awk主要是处理每一行的字段内的数据,而默认的字段的分隔符为空格键或 [tab] 键。


总结:

​ 1.当发现有程序或脚本占用 cpu 或内存比较高时,可以输入命令 top 来动态的查看 CPU 的占用情况,还可以用 free -m 命令查看内存使用情况,若为不正常的程序,可以用 ps aux 命令来找到脚本的路径,必须与研发部门沟通后,寻求是否能强杀,若能强杀,则用 kill PID 来强杀。其中老师上课讲了两个比较重要的命令:

  • ps -auxf | sort -nr -k 4 | head -10 找出消耗内存最多的前10名进程

  • ps -auxf | sort -nr -k 3 | head -10 找出使用CPU最多的前10名进程

    2.当出现 I/O 比较高时,可有 iostat 命令来查看,详细参数见上文内容

    3.当网络流量异常时,监控网卡流量可以用 iftop 命令,还可以用nethogs eth0查看进程使用的具体流量情况

    4.ss命令快速的显示活动状态的套接字

获取本机的IP

提供的方法:

[root@vagrant-centos65 ~]# ifconfig eth0 |grep Bcast |cut -d ":" -f2|cut -d " " -f1
192.168.191.2
[root@vagrant-centos65 ~]# ifconfig |grep Bcast |awk -F'[ :]+' '{print $4}'
192.168.191.2

其它方法:

[root@vagrant-centos65 ~]# ifconfig |grep "inet addr:" |grep -v "127.0.0.1" |cut -d: -f2 |awk '{print $1}'
192.168.191.2
[root@vagrant-centos65 ~]# ifconfig -a |grep inet |grep -v 127.0.0.1 |grep -v inet6|awk '{print $2}' |tr -d "addr:"
192.168.191.2
[root@vagrant-centos65 ~]# ifconfig eth0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
192.168.191.2

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容