linux显示当前电源功耗命令,三种命令 (top、uptime、w) 查看Linux机器负载 |
您所在的位置:网站首页 › 怎么看电脑耗电功率多少瓦 › linux显示当前电源功耗命令,三种命令 (top、uptime、w) 查看Linux机器负载 |
负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态。如果机器负载过高,那么对机器的操作将难以进行。 Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。 查看服务器负载有多种命令,w或者uptime都可以直接展示负载, 三种方法查看Linux机器负载 $ uptime 12:20:30 up 44 days, 21:46, 2 users, load average: 8.99, 7.55, 5.40 $ w 12:22:02 up 44 days, 21:48, 2 users, load average: 3.96, 6.28, 5.16 load average分别对应于过去1分钟,5分钟,15分钟的负载平均值。 这两个命令只是单纯的反映出负载,linux提供了更为强大,也更为实用的top命令来查看服务器负载。 $ top top命令能够清晰的展现出系统的状态,而且它是实时的监控,按q退出。 Tasks行展示了目前的进程总数及所处状态,要注意zombie,表示僵尸进程,不为0则表示有进程出现问题。 Cpu(s)行展示了当前CPU的状态,us表示用户进程占用CPU比例,sy表示内核进程占用CPU比例,id表示空闲CPU百分比,wa表示IO等待所占用的CPU时间的百分比。wa占用超过30%则表示IO压力很大。 Mem行展示了当前内存的状态,total是总的内存大小,userd是已使用的,free是剩余的,buffers是目录缓存。 Swap行同Mem行,cached表示缓存,用户已打开的文件。如果Swap的used很高,则表示系统内存不足。 在top命令下,按1,则可以展示出服务器有多少CPU,及每个CPU的使用情况 == 1、Linux系统的平均负载的概念 有时候我们会觉得系统响应很慢,但是又找不到原因,这时就要查看平均负载了,看它是否有大量的进程在排队等待。特定时间间隔内运行队列中的平均进程数可以反映系统的繁忙程度,所以我们通常会在自己的网站或系统变慢时第一时间查系统的负载,即CPU的平均负载。 三种方法查看Linux机器负载 2、查看平均负载 究竟应该如何查看平均负载呢?最简单的命令是uptime,如下所示: 复制代码代码如下: [root@localhost ~]# uptime 11:31:11 up 11 days, 19:01, 2 users, load average: 0.02, 0.01, 0.00 目前的主流服务器都是双四核,有相当强悍的CPU,做一般的应用服务的话,Linux系统的负载这块倒不用我们担心。 还可以用w命令来查看,顺便可以查看一下系统当前有哪些用户,他们占用了哪些终端,如下所示: 复制代码代码如下: [root@2bin ~]# w 09:13:07 up 24 days, 23:13, 1 user, load average: 0.95, 0.92, 0.94 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 202.103.221.75 09:03 1.00s 0.01s 0.00s w 另外,还有动态命令top,这个命令也可以反映系统负载情况。在下面的命令提示中,我们只关心加粗字体部分。 复制代码代码如下: [root@localhost ~]# top top - 09:12:14 up 24 days, 23:12, 1 user, load average: 0.62, 0.87, 0.93 Tasks: 279 total, 2 running, 171 sleeping, 0 stopped, 0 zombie Cpu(s): 4.3%us, 0.3%sy, 0.0%ni, 94.9%id, 0.3%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 16480696k total, 16329332k used, 151364k free, 1914284k buffers Swap: 4194300k total, 0k used, 4194300k free, 11956760k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5931 www 20 0 276m 75m 11m R 5.0 0.5 3:51.78 php-fpm 1881 www 20 0 274m 73m 11m S 4.0 0.5 0:52.06 php-fpm 上面加粗字体显示的内容是什么意思呢?再通过uptime查看一下。 复制代码代码如下: [root@2bin ~]# uptime 09:13:53 up 24 days, 23:13, 1 user, load average: 0.84, 0.90, 0.93 原来它所表示的是过去的1分钟、5分钟和15分钟内进程队列中的平均进程数量。 那么,如何衡量当前系统是否负载过高呢?可以从以下几点来考虑。 如果每个CPU(可以按CPU核心的数量计算)当前的活动进程数不大于3,则系统性能良好。 如果每个CPU当前的活动进程数不大于4,表示可以接受。 如果每个CPU当前的活动进程数大于5,则系统性能问题严重。 还可以结合vmstat命令来判断我们的系统是否过于繁忙,如果确定很繁忙的话,就要考虑是否更换服务器或增加CPU的个数了。总结如下: 如果r经常大于3或4,且id经常少于50,则表示CPU的负荷很重。 在上面例子中,我的服务器是PowerEdge 2850,CPU是双核双线程的,则0.09/2=0.045(即负载值/真实CPU个数),此系统的CPU负载基本可以忽略了。事实上,现在主流服务器 的CPU都很强悍,如果不是应用虚拟化等特殊场景,基本上负载都很小。 按照前面的计算公式,我所配置Nagios报警的CPU负载阈值 为CPU核心的数量(即CPU的物理个数×核数)。还是以我的服务器PowerEdge 2850为例,其CPU核心的数量为2×2=4,则设置报警值为4。这样设置是合理的,因为毕竟不是每个应用服务器的CPU都支持多核心,毕竟整个网站中 还有些性能比较弱的服务器是用来做备份的。 你可以进行延伸阅读 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |