Linux系统管理命令

目录

一、进程管理命令

1.查看系统中所有进程

2.查看系统健康状态

分析IO瓶颈、CPU瓶颈

二、系统资源查看

1.监控系统资源

2.开机时内核检测信息

3.查看内存使用状态

4.查看CPU信息

5.显式系统的启动时间和平均负载

6.查看系统与内核相关信息

7.判断当前系统的位数

8.查询当前Linux系统的发行版本

9.列出进程打开或使用的文件信息 

 10.Linux查看某个进程的线程

11.iostat命令 


一、进程管理命令

1.查看系统中所有进程

ps -A:查看当前系统所有的进程。

ps aux

  • USER:该进程是由哪个用户产生的;
  • PID:进程的ID号;
  • %CPU:该进程占用CPU资源的百分比,占用越高,进越耗费资源;
  • %MEM:该进程占用物理内存的百分比,占用越高,进越耗费资源;
  • VSZ:该进程占用虚拟内存的大小,单位KB; RSS:该进程占用实际物理内存的大小,单位KB;
  • TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台绝大多数的系统进程写的都是?,证明这个进程不是由终端调用而是由内核直接产生的,所以不知道是在哪个终端运行。
  • START:该进程的启动时间
  • TIME:该进程占用CPU的运算时间,注意不是系统时间
  • COMMAND:产生此进程的命令名

ps工具标识进程的5种状态码:

  • D 不可中断,一般表示进程正在跟硬件交互,并且交互过程中不允许被其他进程或中断打断
  • R 运行,正在运行或在运行队列中等待
  • T 停止 ,进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行
  • Z 僵死 ,进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放
  • S 中断,休眠中, 受阻, 在等待某个条件的形成或接受到信号

2.查看系统健康状态

top 【选项】

选项(不重要,一般只输入top进行查看就行):

-H:实时显示各个线程情况。

-H -p <pid>:输出某个特定进程<pid>并检查该进程内运行的线程状况

top -o pid 查看进程信息

-d 秒数: 指定top命令每隔几秒更新。默认是3秒
在top命令的交互模式当中可以执行的命令:
?或h: 显示交互模式的帮助

下面的几个命令是在进入top之后单独按的
P: 以CPU使用率排序,默认就是此项
M: 以内存的使用率排序

N: 以PID排序
q: 退出top

开始的5行比较重要(重点看红色部分:平均负载、CPU的空闲率、内存的空闲)

CPU负载和CPU使用率

这两个从一定程度上都可以反映一台机器的繁忙程度。

CPU使用率

cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入wait。CPU利用率(CPU utilization)分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间。平时所说的CPU利用率是指:1 - CPU空闲运行时间/总运行时间。

CPU负载

首先,假设最简单的情况,你的电脑只有一个CPU,所有的运算都必须由这个CPU来完成。
那么,我们不妨把这个CPU想象成一座大桥,桥上只有一根车道,所有车辆都必须从这根车道上通过。(很显然,这座桥只能单向通行。)
系统负荷为0,意味着大桥上一辆车也没有。

系统负荷为0.5,意味着大桥一半的路段有车。

系统负荷为1.0,意味着大桥的所有路段都有车,也就是说大桥已经"满"了。但是必须注意的是,直到此时大桥还是能顺畅通行的。

系统负荷为1.7,意味着车辆太多了,大桥已经被占满了(100%),后面等着上桥的车辆为桥面车辆的70%。以此类推,系统负荷2.0,意味着等待上桥的车辆与桥面的车辆一样多;系统负荷3.0,意味着等待上桥的车辆是桥面车辆的2倍。总之,当系统负荷大于1,后面的车辆就必须等待了;系统负荷越大,过桥就必须等得越久。

CPU的系统负荷,基本上等同于上面的类比。大桥的通行能力,就是CPU的最大工作量;桥梁上的车辆,就是一个个等待CPU处理的进程(process)。

如果CPU每分钟最多处理100个进程,那么系统负荷0.2,意味着CPU在这1分钟里只处理20个进程;系统负荷1.0,意味着CPU在这1分钟里正好处理100个进程;系统负荷1.7,意味着除了CPU正在处理的100个进程以外,还有70个进程正排队等着CPU处理。

为了电脑顺畅运行,系统负荷最好不要超过1.0,这样就没有进程需要等待了,所有进程都能第一时间得到处理。很显然,1.0是一个关键值,超过这个值,系统就不在最佳状态了,你要动手干预了。

第一行信息为任务队列信息,具体如下:

系统当前时间;系统的运行时间;当前登录的用户个数;系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷(当然这是针对于单核而言的)。

第二行是行为进程信息,具体如下:

系统中的进程总数;正在运行的进程数;睡眠的进程;正在停止的进程;僵尸进程。如果不是0,需要手工检查僵尸进程。

第三行是CPU信息,具体如下:(CPU信息只关注空闲信息即可)

用户空间占用的CPU百分比;内核占用的CPU百分比;改变过优先级的用户进程占用的CPU百分比;空闲CPU的CPU百分比;等待输入/输出的进程的占用CPU百分比;硬中断请求服务占用的CPU百分比;软中断请求服务占用的CPU百分比;t(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

第四行为物理内存信息,具体如下:

物理内存的总量,单位KB;已经使用的物理内存数量;空闲的物理内存数量;作为缓冲的内存数量;

第五行为交换分区(swap)信息,具体如下:

交换分区(虚拟内存)的总大小;已经使用的交互分区的大小;空闲交换分区的大小;作为缓存的交互分区的大小;

分析IO瓶颈、CPU瓶颈

进入交互模式后:

输入M,进程列表按内存使用大小降序排序,便于我们观察最大内存使用者使用有问题(检测内存泄漏问题);

输入P,进程列表按CPU使用大小降序排序,便于我们观察最耗CPU资源的使用者是否有问题;

top第三行显示当前系统的,其中有两个值很关键:

%id:空闲CPU时间百分比,如果这个值过低,表明系统CPU存在瓶颈;

%wa:等待I/O的CPU时间百分比,如果这个值过高,表明IO存在瓶颈;

二、系统资源查看

1.监控系统资源

vmstat [刷新延时 刷新次数]

最主要的就是查看memory和cpu的信息,其实top里面就有,但是由于是表格的原因,比top更加的简洁。

第四大列:IO

bi表示由块设备读入数据的总量,即读磁盘,单位kb/s。

bo表示写到块设备数据的总量,即写磁盘,单位kb/s。

2.开机时内核检测信息

dmesp

 dmesg | grep CPU--查看关于CPU的信息

dmesg | grep etho--查看网卡信息

3.查看内存使用状态

前面的top、vmstat都可以看到内存的使用状态,但是free命令是专门用来查看内存的使用状态

free [-b|-k|-m|-g]

选项:

-b: 以字节为单位显示

-k: 以KB为单位显示,默认就是以KB为单位显示

-m: 以MB为单位显示

-g: 以GB为单位

简单来说缓存(cache)是用来加速数据从硬盘中“读取”的,而缓冲(buffer)是用来加速数据“写入”硬盘的。 

4.查看CPU信息

cat /proc/cpuinfo

proc是内存的挂载点,一旦断电里面的数据就会消失。说明这个CPU信息是每次开机都会检测,完成之后写入这个文件,一旦断电,文件里面的内容就会释放。

5.显式系统的启动时间和平均负载

 uptime 

其实就是top命令的第一个行,w命令也可以看到这个数据。

6.查看系统与内核相关信息

uname [选项]

选项:

-a: 查看系统所有相关信息;

-r: 查看内核版本;

-s: 查看内核名

7.判断当前系统的位数

 file /bin/ls

其实没有直接的命令可以查看系统的位数,file命令是查看文件类型,会顺带着显式系统的位数。

8.查询当前Linux系统的发行版本

lsb_release -a

9.列出进程打开或使用的文件信息 

lsof [选项]

选项:

-c 字符串: 只列出以字符串开头的进程打开的文件

-u 用户名: 只列出某个用户的进程打开的文件

-p pid: 列出某个PID进程打开的文件

-filename: 显示打开指定文件的所有进程

lsof -i:22 :查看22端口现在运行的情况

 10.Linux查看某个进程的线程

方法一:PS

在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程。

ps -T -p 进程号

方法二: Top

top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。

top -H -p 进程号

11.iostat命令 

功能:

用于输出cpu和磁盘I/O相关的统计信息。

输出含义:

    avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值。重点关注iowait值,表示CPU用于等待io请求的完成时间。

    Device: 各磁盘设备的IO统计信息。各列含义如下:

Device: 以sdX形式显示的设备名称
tps: 每秒进程下发的IO读、写请求数量
KB_read/s: 每秒从驱动器读入的数据量,单位为K。
KB_wrtn/s: 每秒从驱动器写入的数据量,单位为K。
KB_read: 读入数据总量,单位为K。
KB_wrtn: 写入数据总量,单位为K。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值