每周一个linux命令之---uptime详解

简介: 每周一个linux命令之---uptime详解linux命令 uptime详解引言:从今天开始,每周更新一个对程序员有用的linux命令,我真的没敢写每天一个,我怕我坚持不下去,每周一个还是可以的。

每周一个linux命令之---uptime详解

linux命令 uptime详解


引言:从今天开始,每周更新一个对程序员有用的linux命令,我真的没敢写每天一个,我怕我坚持不下去,每周一个还是可以的。既然每周一个了,就肯定不能拿ls,chmod这种命令来凑数了。降低数量,保障质量。与大家共勉。

进入正题

uptime

我们先来看一下命令执行结果

11:10:42 up 4 days, 19:23,  2 users,  load average: 3.17, 3.45, 3.65

我们来分组解释一下,大概分成一下几个部分

  • 系统当前时间 11:10:42
  • up 4 days, 19:23 从上次启动开始系统运行的时间
  • 2 users 注意这里实际是连接数量,可以自己测试出来,同一用户多个连接的时候算多个
  • load average: 3.17, 3.45, 3.65 这是重头戏,分别描述了1分钟5分钟15分钟内系统平均负载

我们使用man uptime命令进行查询uptime的说明如下(man命令不了解的稍微百度一下就明白,这是一个类似手册的功能)

注:一般我们使用 uptime -h 即命令加-h或--help的形式得到的是比较简单的帮助文档,而man命令一般会给出更详细的解释,不过一般都是英文的,其实也没有太难的词语希望大家坚持英文阅读。提高技术水平的同时也潜移默化的提高了英语水平

uptime  gives  a  one  line display of the following information.
       The current time, how long the system has been running, how  many
       users  are  currently logged on, and the system load averages for
       the past 1, 5, and 15 minutes.

       This is the same information contained in the  header  line  dis‐
       played by w(1).

       System  load averages is the average number of processes that are
       either in a runnable or uninterruptable state.  A  process  in  a
       runnable state is either using the CPU or waiting to use the CPU.
       A process in  uninterruptable  state  is  waiting  for  some  I/O
       access,  eg  waiting  for  disk.  The averages are taken over the
       three time intervals.  Load averages are not normalized  for  the
       number of CPUs in a system, so a load average of 1 means a single
       CPU system is loaded all the time while on  a  4  CPU  system  it
       means it was idle 75% of the time.

当然我知道大部分童鞋是不想看那么长串的英文的,我翻译了一下如下:

uptime 在一行中给了如下信息:当前时间,系统已经运行了多久,多少用户连接目前正在使用系统,系统在过去1,5,15分钟内的平均负载。
这与w(1)显示的标题行中包含相同的信息。
系统负载平均值是处于可运行或不可中断状态的平均进程数。 进程在可运行状态是指进程正在使用CPU或等待使用CPU。 处于不可中断状态的进程是指的进程正在等待某些I/O访问,例如等待磁盘。 平均值是在三个时间间隔内取得的。 对于系统中的CPU数量,负载平均值没有标准化,因此负载平均值为1意味着单个CPU系统一直在加载,而在4 CPU系统上,这意味着它在75%的时间内处于空闲状态。

这里我们做一个比喻便于理解,我们把处于可运行或不可中断状态的的平均进程数量比喻成货物数量,而cpu可以理解为传送带。货物数量是1个的话,如果只有一条传送带,那么传送带就是满负荷运行,如果有4个传送带,那么就有三条空闲(即上文说的75%空闲)。平均负载就可以理解为一段时间内的平均货物数量。

接下来我们学习一下uptime可携带的参数

OPTIONS
       -p, --pretty
              show uptime in pretty format//以比较友好的格式输出

       -h, --help
              display this help text//显示帮助选项

       -s, --since
              system up since, in yyyy-mm-dd HH:MM:SS format//系统启动时间

       -V, --version
              display version information and exit//版本信息

运行结果如下


@dev1:~$ uptime -p
up 4 days, 22 hours, 38 minutes
@dev1:~$ uptime -s
2018-09-13 15:47:04
@dev1:~$ uptime -V
uptime from procps-ng 3.3.10
@dev1:~$ uptime -h

Usage:
 uptime [options]

Options:
 -p, --pretty   show uptime in pretty format
 -h, --help     display this help and exit
 -s, --since    system up since
 -V, --version  output version information and exit

For more details see uptime(1).

下面顺便提一下怎么查系统的cpu核心数量。(方法有很多种,我觉得这种最好记忆)

lscpu

这个命令应该是比较好记的,毕竟ls,cpu这两个我们都记得了。
这里面显示了很多选项。其中cpu(s):数量表明了cpu的个数。如下图

Architecture:          x86_64 //cpu架构
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian//小端(低位字节存储在内存的低地址端 intel的cpu一般是小端,amd的一般是大端 Big Endian)
CPU(s):                4//cpu数量

其他参数以后再讲吧。一篇文章太长了不利于学习和记忆。

希望大家多评论交流,互相学习
目录
相关文章
|
23天前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
52 8
|
23天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
144 6
|
24天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
65 3
|
24天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
60 2
|
6天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
32 14
Linux 10 个“who”命令示例
|
15天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
30 9
|
13天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
19天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
59 3
|
23天前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
39 4
|
23天前
|
运维 监控 Linux
别再只会使用简单的 ping 命令了,Linux 中这些高级 ping 命令可以提高工作效率!
在 Linux 系统中,ping 命令不仅用于检测网络连通性和延迟,还拥有多种高级选项和技巧,如定制数据包大小、获取详细统计信息、持续 ping、指定源地址和多目标 ping。本文详细介绍这些高级命令及其在性能测试、故障排查和网络监控中的实际应用,帮助你提升网络管理效率。
84 3