1.命令簡介
uptime 用于顯示系統總共運行了多長時間和系統的平均負載。
無選項 uptime 命令會顯示一行信息,依次為:當前時間、系統已經運行了多長時間、目前有多少用戶登錄、系統在過去的 1 分鐘、5 分鐘和 15 分鐘內的平均負載。輸出結果等同于 top 命令匯總區的第一行。
2.命令格式
uptime [options]
3.選項說明
-p, --pretty 采用可讀友好的格式輸出系統已運行時長 -h, --help 顯示幫助信息 -s, --since 以格式 yyyy-mm-dd HHSS format 輸出系統啟動時間 -V, --version 顯示版本信息
4.常用示例
(1)查看系統運行時長與平均負載。
uptime 2255 up 445 days, 9:38, 5 users, load average: 0.08, 0.08, 0.06
顯示的信息依次為:當前時間(2255)、系統已經運行了多長時間(up 445 days, 9:38,表示 445 天 9 時 38 分鐘)、目前有多少登錄用戶(5 users)、系統在過去的 1 分鐘、5 分鐘和 15 分鐘內的平均負載(load average: 0.08, 0.08, 0.06)。
(2)查看系統啟動時間。
uptime -s 2018-07-20 1321
(3)只輸出系統運行時長。
uptime -p up 1 year, 11 weeks, 4 days, 9 hours, 43 minutes
5.拓展知識
5.1 什么是系統平均負載
系統平均負載指單位時間內,系統中處于可運行狀態和不可中斷狀態的進程數,也就是平均活躍進程數,他和 CPU 使用率沒有直接關系。
可運行狀態的進程指正在使用 CPU 或正在等待使用 CPU 的進程,也就是我們常用 ps 命令看到的,處于 R 狀態(Running 或 Runnable)的進程。
不可中斷狀態的進程指正在等待某些 I/O 的進程,即我們在 ps 命令中看到的 D 狀態(Uninterruptible Sleep,也稱為 Disk Sleep)的進程。例如等待磁盤 I/O,當一個進程向磁盤讀寫數據時,為了保證數據的一致性,在得到磁盤回復前,它是不能被其他進程打斷的,這個時候的進程就處于不可中斷狀態。如果此時的進程被打斷了,就容易出現磁盤數據與進程數據不一致的問題。所以,不可中斷狀態實際上是系統對進程和硬件設備的一種保護機制。
5.2 系統平均負載多少時合理
uptime 命令給出的三個時間段的平均負載并不是標準化的,因為系統中 CPU 核心數量是不定的。所以平均負載為 1 意味著擁有一個 CPU 核心的系統一直在忙碌,而在一個擁有 4 個 CPU 核心的系統上,意味著系統 75% 的時間是空閑的。
所以,當系統平均負載除以 CPU 核心數小于等于 1表示系統沒有出現過載的情況。最理想的情況是每個CPU 上都剛好運行一個進程,這樣 CPU 就得到了充分的利用。
三個時間段統計出的系統平均負載,我們以哪個數字為準?一分鐘?五分鐘?還是十五分鐘?我們應該著眼于五分鐘或者十五分鐘的平均數值,如果前一分鐘的負載情況是 1.00,那么仍可以說明認定服務器情況還是正常的,但是如果十五分鐘的數值仍然保持在 1.00,那么就值得注意了。
另外,讀取文件 /proc/loadavg 可直接查看系統平均負載。
cat /proc/loadavg 0.04 0.03 0.05 1/319 21900
除了前 3 個數字表示系統平均負載外,后面的一個分數,分母表示系統進程總數,分子表示正在運行的進程數;最后一個數字表示最近運行的進程 ID。
5.3 獲取系統 CPU 核心數
使用 lscpu 命令查看。
或者直接訪問文件 /proc/cpuinfo 獲取 CPU 核心數。
grep ‘model name’ /proc/cpuinfo | wc -l 6
5.4 平均負載與 CPU 使用率的關系
在日常使用中,我們經常容易把平均負載和CPU使用率混淆,這里我們做下區分。
平均負載是指單位時間內,系統中處于可運行狀態和不可中斷狀態的進程數,所以,他不僅包擴了正在使用CPU 的進程,還包括等待 CPU 和等待 I/O 的進程。
而 CPU 使用率,是單位時間內 CPU 繁忙情況的統計,和平均負載并不一定完全對應。比如:
(1)CPU 密集型進程,使用大量 CPU 會導致平均負載升高,此時這兩者是一致的;
(2)I/O 密集型進程, 等待 I/O 也會導致平均負載升高,但是 CPU 使用率不一定很高;
(3)存在大量等待 CPU 調用的進程也會導致平均負載升高,此時的 CPU 使用率也會比較高。
給我們公號發送 命令 二字,獲取“每天一個Linux命令”系列的完整目錄。
原文標題:每天一個 Linux 命令(72): uptime 命令
文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
Linux
+關注
關注
87文章
11354瀏覽量
210627 -
命令
+關注
關注
5文章
698瀏覽量
22141 -
代碼
+關注
關注
30文章
4841瀏覽量
69180
原文標題:每天一個 Linux 命令(72): uptime 命令
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
詳解Linux sort命令之掌握排序技巧與實用案例
Linux grep命令詳解
Linux系統中shell命令解析
Linux lsof命令的基本用法
![<b class='flag-5'>Linux</b> lsof<b class='flag-5'>命令</b>的基本用法](https://file1.elecfans.com/web1/M00/F3/7F/wKgaoWcYc2mAFw5cAAA4fI5XmGk856.png)
Linux系統中man命令的基本使用
![<b class='flag-5'>Linux</b>系統<b class='flag-5'>中</b>man<b class='flag-5'>命令</b>的基本使用](https://file1.elecfans.com/web2/M00/09/85/wKgaomb5CRSAFPh-AADKBDs3rCM086.jpg)
評論