Linux系统命令
cpu负载概括:
w:查看当前系统的负载
•该命令是Linux管理员最常用的命令。
•第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载。
•第二行开始以及下面所有的行,显示的是,当前登录的都有哪些用户,以及他们是从哪里登录的等等。
•在这些信息当中,我们最应该关注的应该是第一行中的’loadaverage:’后面的三个数值。
•第一个数值表示1分钟内系统的平均负载值。
•第二个数值表示5分钟内系统的平均负载值。
•第三个数值表示15分钟系统的平均负载值。
•这个值的意义是,单位时间段内CPU活动进程数。当然这个值越大就说明你的服务器压力越大。一般情况下这个值只要不超过你服务器的cpu数量就没有关系,如果你的服务器cpu数量为8,那么这个值若小于8,就说明你的服务器没有压力,否则就要关注一下了。
系统整体状态:
vmstat:可以知道系统具体是哪里有压力
•procs 显示进程相关信息
–r :表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了;
–b :表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注;
•memory 内存相关信息
–swpd :表示切换到交换分区中的内存数量;
–free:当前空闲的内存数量;
–buff:缓冲大小,(即将写入磁盘的);
–cache:缓存大小,(从磁盘中读取的);
•swap 内存交换情况
–si :由内存进入交换区的数量;
–so :由交换区进入内存的数量;
•io 磁盘使用情况
–bi :从块设备读取数据的量(读磁盘);
bo: 从块设备写入数据的量(写磁盘);
•system 显示采集间隔内发生的中断次数
–in :表示在某一时间间隔中观测到的每秒设备中断数;
–cs :表示每秒产生的上下文切换次数;
•CPU 显示cpu的使用状态
–us :显示了用户下所花费cpu 时间的百分比;
–sy :显示系统花费cpu时间百分比;
–id :表示cpu处于空闲状态的时间百分比;
–wa :表示I/O等待所占用cpu时间百分比;
–st :表示被偷走的cpu所占百分比(一般都为0,不用关注);
•以上所介绍的各个参数中,我们经常会关注r列,b列,和wa列,三列代表的含义在上边说得已经很清楚。IO部分的bi以及bo也是我们要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高。另外当si,so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
•持续监控系统状态:vmstat 1 5
–表示每隔1秒钟打印一次系统状态,连续打印5次。
•持续监控系统状态:vmstat 1
–表示每隔1秒钟打印一次系统状态,一直打印。
–按ctrl+ c强制结束。
占用资源监控:
top : 动态监控所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。
•top命令打印出了很多信息,包括系统负载(loadaverage)、进程数(Tasks)、cpu使用情况、内存使用情况以及交换分区使用情况。上面这些内容也可以通过其他命令来查看,所以用top重点查看的还是下面的进程使用系统资源详细状况。这部分东西反映的东西还是比较多的,不过需要我们关注的也就是几项:%CPU,%MEM, COMMAND
内存监控:
free:查看当前系统的总内存大小以及使用内存的情况
•从上图中可看到当前系统内存总大小为235128(单位是k)已经使用120368,剩余94760。
•其实真正剩余并不是这个94760,而是第二行的213388,真正使用的也是第二行的21740。这是因为系统初始化时,就已经分配出很大一部分内存给缓存,这部分缓存用来随时提供给程序使用,如果程序不用,那这部分内存就空闲。所以,查看内存使用多少,剩余多少请看第二行的数据。
磁盘监控:
df : 此命令用来查看Linux服务器的文件系统的磁盘空间占用情况,利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
•显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示。
•可用参数:
–-h 方便阅读方式显示
–-H 同h,1k=1000
-T 显示磁盘类型
•作为系统管理员,一定要知道你所管理的系统都有那些进程在运行,在windows下只要打开任务管理器即可查看。在linux下呢?其实在上面介绍的top命令就可以,但是不够专业,当然还有专门显示系统进程的命令:ps。
•可用参数:
–-aux:显示所有进程(含后台)及用户
–-ef :显示所有进程及其父进程号
•近似命令: pstree
–树状显示进程,显示父进程号
–-p:显示父进程号