当前位置: 首页 > Linux

Linux操作系统加载命令查看及详解

时间:2023-04-06 20:55:23 Linux

在日常工作和生活中,衡量服务器性能是每个程序员必备的技能。负载是衡量性能不可或缺的指标。它的理解和观看是非常重要的。本文主要介绍负载(load)的常用查看命令和定义以及系统机器的正常负载范围:负载的概念。负载(load)是一台linux机器的一个重要指标,它直观地反映了机器当前的状态。简单解释:在LINUX系统中,系统负载是衡量当前CPU工作负载的指标,定义为特定时间间隔内运行队列中的平均线程数。loadaverage表示机器在一段时间内的平均负载。值越低越好。过大的负载会导致机器无法处理其他请求和操作,甚至导致死机。Linux的高负载主要是三个部分造成的:CPU占用、内存占用、IO消耗。过度使用任何一个都会导致服务器负载急剧增加。查看机器负载在Linux机器上,有多个命令可以查看机器负载信息。其中包括uptime、top、w、iostat等。uptime命令uptime命令可以打印系统的总运行时间和系统的平均负载。uptime命令显示的信息是:当前时间,系统已经运行了多长时间,当前有多少用户登录,过去1分钟、5分钟、15分钟系统的平均负载。这行信息的后半部分显示“loadaverage”,意思是“系统的平均负载”,里面有三个数字,我们可以从中判断系统负载是大还是小。0.400.360.41这三个数字分别表示系统在1分钟、5分钟和15分钟内的平均负载。我们一般表示为load1、load5、load15。w命令w命令的主要作用其实就是显示当前登录系统的用户信息。但与who不同的是,w命令更强大。w命令还可以显示:当前时间、自系统启动以来的时间、登录用户数、最近1分钟、5分钟和15分钟系统的平均负载。然后是每个用户的各种数据,项目依次显示:登录账号、终端名、远程主机名、登录时间、空闲时间、JCPU、PCPU、当前运行进程的命令行。从上面w命令的结果可以看出,当前系统时间是19:31,距离系统启动已经8天5小时,一共8个用户登录。平均负载为过去1分钟、5分钟、15分钟的系统分别是1.680.980.70。这与uptime获得的结果大致相同。下面还打印了一些登录用户的各种数据。Top命令不做详细介绍。top命令是Linux下常用的性能分析工具。它可以实时显示系统中各个进程的资源占用情况,类似于Windows的任务管理器。第一行和第二行上面已经提到了:Tasks:116total,2running,107sleeping,0stopped,0zombie116total:当前有116个tasks2running:2tasksarerunning114sleeping:114processesareinsleepstate0stopped:停止进程数0zombie:僵尸进程数第三行:%Cpu(s):9.6us,9.6sy,0.0ni,80.9id,0.0wa,0.0hi,0.0si,0.0st9.6%us:用户态进程占用CPU时间的百分比9.6%sy:内核占用CPU时间的百分比0.0%ni:renice值为负的任务的用户态进程占用CPU时间的百分比。nice表示优先级80.9%id:空闲CPU时间百分比0.0%wa:等待I/O的CPU时间百分比0.0%hi:CPU硬中断时间百分比0.0%si:CPU软中断时间百分比line4:KiBMem:总计1881840,可用95644,已使用914944,871252buff/缓存1881840k总计:总物理内存95644k已用:已用物理内存914944k可用:可用物理内存871252k缓存:用作缓存的内存第五行:KiB交换:总计0,空闲0,0使用。1871412availMem0ktotal:交换空间总量0kused:已用交换空间0kfree:空闲交换空间1871412kcached:缓存交换空间第6行:PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMANDPID:进程IDUSER:所有者PR:进程的优先级NI:Nice值VIRT:占用的虚拟内存RES:占用的物理内存SHR:使用的共享内存S:进行中状态S:休眠R运行Z僵尸进程Nnice值为负%CPU:占用的CPU%MEM:占用内存TIME+:占用CPU时间累计值COMMAND:启动命令机器正常负载范围对于机器的负载是否正常,一直以来争议很大,不同的人有不同的理解。对于单个CPU,有人认为Load超过0.7就超出了正常范围。有人认为只要不超过1就可以了。也有人认为单个CPU的负载在2以下是可以接受的,当系统负载持续大于0.7时,就要开始排查问题所在,防止情况进一步恶化。当系统负载持续大于1.0时,必须手动寻找降低该值的方案。当系统负载达到5.0时,说明你的系统出现严重问题,长时间无响应,或接近崩溃。您不应让系统达到此值。还有一点需要提及。在LoadAvg指标中,有三个值,1分钟系统负载,5分钟系统负载,15分钟系统负载。我们在排查问题的时候也可以参考这三个值。通常,1分钟的系统负载表示最近的瞬变。15分钟的系统负载表示持续存在的现象,而不是暂时的问题。如果load15高而load1低,事情可以认为更好。相反,情况可能会变得更糟。参考链接:在Linux中检查负载平均值的4种方法