关于uptime命令以及/proc/uptime文件我们知道多少

uptime命令

[root@myhost ~]# which uptime
/usr/bin/uptime
[root@myhost ~]# whereis uptime
uptime: /usr/bin/uptime /usr/share/man/man1/uptime.1.gz
[root@myhost ~]# whereis  -b uptime
uptime: /usr/bin/uptime

########################################################################

[root@myhost ~]# uptime
 11:32:09 up 40 days, 20:38,  1 user,  load average: 0.00, 0.00, 0.00

uptime 在Unix/Linux命令中,主要作用是显示系统已经运行了多长时间。
它依次显示下列信息:

  1. 系统当前时间
  2. 系统已经运行了多长时间
  3. 目前有多少登陆用户
  4. 系统在过去的1分钟 5分钟 15分钟内的平均负载。

平均负载的最佳值是1,这意味着每个进程都可以立即执行不会错过CPU周期。
负载的正常值在不同的系统中有着很大的差别。
在单处理器的工作站中,1或2都是可以接受的。然而在多处理器的服务器上你可能看到8到10。

你能使用uptime来确定是服务器还是网络出了问题。例如如果网络应用程序运行,运行uptime来了解系统负载是否很高。如果负载不高,这个问题很有可能是由于网络引起的而非服务器。

提示:你可以使用 w 命令来代替 uptime。w 也提供关于当前系统登录用户和用户所进行工作的相关信息。

[root@myhost ~]# w
11:37:02 up 40 days, 20:43,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    171.88.21.96     09:08    0.00s  0.10s  0.00s w

/proc/uptime文件

/proc文件系统是一个虚拟的文件系统,不占用磁盘空间,它反映了当前操作系统在内存中的运行情况,查看/proc下的相应文件可以了解到到系统的运行状态。

[root@myhost ~]# cat /proc/uptime
3526245.24 14091888.78

第一个参数是代表从系统启动到现在的时间(以秒为单位):
3526245.24秒 =40.81302361111111天,说明这台服务器已连续开机40.81302361111111天
第二个参数是代表系统空闲的时间(以秒为单位):
14091888.78秒 = 163.1005645833333天,说明这台机器从开机到现在一共有163.100564583333天左右没事干。
计算一下空闲率:
14091888.78/3526245.24 = 3.9962872179588

[root@myhost ~]# head -1 /proc/uptime |awk -F " "  '{print $2/$1}'
3.99628

也就是说:它的空闲率是399.63%左右
空闲率高低并不意味着,它做的工作多少,空闲率还跟服务器本身的配置和性能有很大的关系,
一台服务器有这麽高的空闲率(即这麽低的利用率)说,是因为它的配置比较高。
服务器空闲率跟服务器本身的配置有很大的关系,服务器的性能越好,配置越高,它处理的速度越快,配置高的服务器处理的时间要小于配置低的服务器。
从空闲时间,你就可以判断你的服务器负载是否过大,看一下是不是有导常情况发生,如果空闲时间很小,说明你的服务器已经在满负荷运行,然后决定是不是需要升级你的服务器。

拓展

/proc/loadavg 文件

[root@myhost ~]# cat /proc/loadavg 
0.00 0.00 0.00 1/362 13952

前三个数字是过去的1分钟、5分钟、15分钟内的平均进程数(有人认为是系统负荷的百分比,其实不然,有些时候可以看到200甚至更多)。
后面两个数字:
一个的分子是正在运行的进程数,分母是进程总数;
一个是最近运行的进程ID号。

猜你喜欢

转载自blog.csdn.net/yuki5233/article/details/87177565