linux的uptime
① linux下如何查看系統啟動時間和運行時間以及
uptime
w
都可以
② linux uptime 多少秒
uptime是linux命令里獲取有關系統時間的。他就是到/proc/uptime找出一些信息計算的。你也可以/proc/uptime 提供了系統最近一次啟動以來運行的時間,讀取這個文件然後自己計算,uptime里的第一個時間是up後的seconds,自己折算為天數等。
③ Linux裡面uptime命令作用是什麼
查看運行時長,和負載信息
希望可以幫助你,請採納,謝謝
④ Linux命令裡面w和uptime命令區別是什麼
Linux w命令用於顯示目前登入系統的用戶信息。
執行這項指令可得知目前登入系統的用戶有哪些人,以及他們正在執行的程序。
單獨執行 w 指令會顯示所有的用戶,您也可指定用戶名稱,僅顯示某位用戶的相關信息。
⑤ linux的uptime命令windows有起同樣作用的命令么
linux
uptime命令主要用於獲取主機運行時間和查詢linux系統負載等信息。uptime命令過去只顯示系統運行多久。現在,可以顯示系統已經運行了多長時間,信息顯示依次為:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。
51cto編輯推薦:linux監控工具大全
uptime命令用法十分簡單:直接輸入
#
uptime
即可。
輸入樣例:
18:02:41
up
41
days,
23:42,
1
user,
load
average:
0.00,
0.00,
0.00
1可以被認為是最優的負載值。負載是會隨著系統不同改變得。單cpu系統1-3和smp系統6-10都是可能接受的。
另外還有一個參數
-v
,是用來查詢版本的。
(注意是大寫的字母v)
[linux
@
localhost]$
uptime
-v
procps
version
3.2.7
[linux
@
localhost]$
uptime
顯示結果為:
10:19:04
up
257
days,
18:56,
12
users,
load
average:
2.10,
2.10,2.09
顯示內容說明:
10:19:04
//系統當前時間
up
257
days,
18:56
//主機已運行時間,時間越大,說明你的機器越穩定。
12
user
//用戶連接數,是總連接數而不是用戶數
load
average
//
系統平均負載,統計最近1,5,15分鍾的系統平均負載
那麼什麼是系統平均負載呢?
系統平均負載是指在特定時間間隔內運行隊列中的平均進程數。
如果每個cpu內核的當前活動進程數不大於3的話,那麼系統的性能是良好的。如果每個cpu內核的任務數大於5,那麼這台機器的性能有嚴重問題。
如果你的linux主機是1個雙核cpu的話,當load
average
為6的時候說明機器已經被充分使用了。
作者開源運維研究室
⑥ Linux哪個命令可以查看當前系統時間
題主你好,
最常用的命令是: date
=====
希望可以幫到題主, 歡迎追問.
⑦ linux查看開機時間
用date就可以了
⑧ Linux Uptime 命令,讓你知道你的系統運行了多久
linux
uptime命令主要用於獲取主機運行時間和查詢linux系統負載等信息。uptime命令過去只顯示系統運行多久。現在,可以顯示系統已經運行了多長時間,信息顯示依次為:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。
51CTO編輯推薦:linux監控工具大全
uptime命令用法十分簡單:直接輸入
#
uptime
即可。
輸入樣例:
18:02:41
up
41
days,
23:42,
1
user,
load
average:
0.00,
0.00,
0.00
1可以被認為是最優的負載值。負載是會隨著系統不同改變得。單CPU系統1-3和SMP系統6-10都是可能接受的。
另外還有一個參數
-V
,是用來查詢版本的。
(注意是大寫的字母v)
[linux
@
localhost]$
uptime
-V
procps
version
3.2.7
[linux
@
localhost]$
uptime
顯示結果為:
10:19:04
up
257
days,
18:56,
12
users,
load
average:
2.10,
2.10,2.09
顯示內容說明:
10:19:04
//系統當前時間
up
257
days,
18:56
//主機已運行時間,時間越大,說明你的機器越穩定。
12
user
//用戶連接數,是總連接數而不是用戶數
load
average
//
系統平均負載,統計最近1,5,15分鍾的系統平均負載
那麼什麼是系統平均負載呢?
系統平均負載是指在特定時間間隔內運行隊列中的平均進程數。
如果每個CPU內核的當前活動進程數不大於3的話,那麼系統的性能是良好的。如果每個CPU內核的任務數大於5,那麼這台機器的性能有嚴重問題。
如果你的linux主機是1個雙核CPU的話,當Load
Average
為6的時候說明機器已經被充分使用了。
作者開源運維研究室
⑨ Linux裡面uptime命令作用是什麼
[root@oldboy ~]# uptime
11:45:25 up 5 days, 13:20, 3 users, load average: 0.00, 0.01, 0.05
uptime內容顯示的內容一次是系統時間,開機到現在的天數,用戶登錄數,以及平均負載。
核心是平均負載,其實就是【單位時間內的活躍進程數】。
2顆,單顆4核CPU為例:
1分鍾:10.00 #CPU處理進程1分鍾的繁忙程度,忙碌1分鍾。
5分鍾:8.01 #CPU處理進程5分鍾的繁忙程度,忙碌了5分鍾
15分鍾:5.05 #CPU處理進程15分鍾的繁忙程度,忙碌持續15分鍾,15分鍾內平均值5.
uptime:故障恢復了。
1分鍾:1.00 #CPU處理進程1分鍾的繁忙程度,忙碌1分鍾。
5分鍾:8.01 #CPU處理進程5分鍾的繁忙程度,忙碌了5分鍾
15分鍾:5.05 #CPU處理進程15分鍾的繁忙程度,忙碌持續15分鍾,15分鍾內平均值5.
==============================================
總結:15分鍾負載值12,是高是低呢
負載數值/總的核心數=1 #開始慢的臨界點,實際上1*70%==關注的臨界點。
12/8=1.2 大於1就說明有問題。
負載不要超過5,是臨界點。
2顆單顆4核CPU,共8核,負載就是8*70%=5左右。
需要關注負載的值:總的核心數*70%=關注的點
==================要掌握的============================
1.平均負載是運行隊列中活躍的進程數。
2.平均負載,1,5,15分鍾內的負載。
3.需要關注負載的值:總的核心數*70%=關注的點
4.輔助top,ps,uptime,sar,mpstat,pidstat,iostat,排查問題。
5.strace跟蹤進程系統調用。
6.記住幾個案例(面試講故事)。
面試官問:
你在工作中遇到過哪些生產故障,是怎麼解決的?
最好和資料庫相關(負載高),和web相關(PHP進程100%,JAVA內存泄漏)
==================要掌握的============================
***6.平均負載案例分析實戰\***
下面,我們以三個示例分別來看這三種情況,並用 stress、mpstat、pidstat 等工具,找出平均負載升高的根源。
stress 是 Linux 系統壓力測試工具,這里我們用作異常進程模擬平均負載升高的場景。
mpstat 是多核 CPU 性能分析工具,用來實時查看每個 CPU 的性能指標,以及所有 CPU 的平均指標。
pidstat 是一個常用的進程性能分析工具,用來實時查看進程的 CPU、內存、I/O 以及上下文切換等性能指標。
#如果出現無法使用mpstat、pidstat命令查看%wait指標建議更新下軟體包
yum install sysstats -y
yum install stress -y
stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
***場景一:CPU 密集型進程\***
1.首先,我們在第一個終端運行 stress 命令,模擬一個 CPU 使用率 100% 的場景:
[root@oldboy ~]# stress --cpu 1 --timeout 600
2.接著,在第二個終端運行 uptime 查看平均負載的變化情況
# 使用watch -d 參數表示高亮顯示變化的區域(注意負載會持續升高)
[root@oldboy ~]# watch -d uptime
*3.最後,在第三個終端運行 mpstat 查看 CPU 使用率的變化情況*
# -P ALL 表示監控所有CPU,後面數字5 表示間隔5秒後輸出一組數據
[root@oldboy ~]# mpstat -P ALL 5
#單核CPU,所以只有一個all和0
4.從終端二中可以看到,1 分鍾的平均負載會慢慢增加到 1.00,而從終端三中還可以看到,正好有一個 CPU 的使用率為 100%,但它的 iowait 只有 0。這說明,平均負載的升高正是由於 CPU 使用率為 100% 。那麼,到底是哪個進程導致了 CPU 使用率為 100% 呢?可以使用 pidstat 來查詢
![](18.Linux系統管理-進程管理.assets/a.png)
# 間隔5秒輸出一組數據
[root@oldboy ~]# pidstat -u 5 1
#從這里可以明顯看到,stress進程的CPU使用率為100%。
- 模擬cpu負載高 `stress --cpu 1 --timeout 100`
- 通過uptime或w 查看 `watch -d uptime`
- 查看整體狀態mpstat -P ALL 1 查看每個cpu核心使用率
- 精確到進程: pidstat 1
****場景二:I/O 密集型進程\****
1.首先還是運行 stress 命令,但這次模擬 I/O 壓力,即不停地執行 sync
[root@oldboy ~]# stress --io 1 --timeout 600s #利用sync()
stress --hdd 8 --hdd-bytes 1g # hd harkdisk 創建進程去進程寫
*2.然後在第二個終端運行 uptime 查看平均負載的變化情況:*
[root@oldboy ~]# watch -d uptime
18:43:51 up 2 days, 4:27, 3 users, load average: 1.12, 0.65, 0.00
*3.最後第三個終端運行 mpstat 查看 CPU 使用率的變化情況:*
# 顯示所有 CPU 的指標,並在間隔 5 秒輸出一組數據
[root@oldboy ~]# mpstat -P ALL 5
#會發現cpu的與內核打交道的sys佔用非常高
*4.那麼到底是哪個進程,導致 iowait 這么高呢?我們還是用 pidstat 來查詢*
# 間隔5秒後輸出一組數據,-u 表示CPU指標
[root@oldboy ~]# pidstat -u 5 1
#可以發現,還是 stress 進程導致的。
- 通過stress 模擬大量進程讀寫 `stress --hdd 4 `
- 通過w/uptime查看系統負載信息 `watch -d uptime`
- 通過top/mpstat 排查 `mpstat -P ALL 1 或 top 按1`
- 確定是iowati `iostat 1查看整體磁碟讀寫情況 或iotop -o 查看具體哪個進程讀寫`
- 根據對應的進程,進行相關處理.
***場景三:大量進程的場景 高並發場景 \***
*當系統中運行進程超出 CPU 運行能力時,就會出現等待 CPU 的進程。*
*1.首先,我們還是使用 stress,但這次模擬的是 4 個進程*
[root@oldboy ~]# stress -c 4 --timeout 600
*2.由於系統只有 1 個 CPU,明顯比 4 個進程要少得多,因而,系統的 CPU 處於嚴重過載狀態*
*3.然後,再運行 pidstat 來看一下進程的情況:*
# 間隔5秒後輸出一組數據
[root@oldboy ~]# pidstat -u 5 1
*可以看出,4 個進程在爭搶 1 個 CPU,每個進程等待 CPU 的時間(也就是代碼塊中的 %wait 列)高達 75%。這些超出 CPU 計算能力的進程,最終導致 CPU 過載。*
****分析完這三個案例,我再來歸納一下平均負載與CPU\****
***平均負載提供了一個快速查看系統整體性能的手段,反映了整體的負載情況。但只看平均負載本身,我們並不能直接發現,到底是哪裡出現了瓶頸。所以,在理解平均負載時,也要注意:
平均負載高有可能是 CPU 密集型進程導致的;
平均負載高並不一定代表 CPU 使用率高,還有可能是 I/O 更繁忙了;
當發現負載高的時候,你可以使用 mpstat、pidstat 等工具,輔助分析負載的來源****
**系統負載的計算和意義**
進程以及子進程和線程產生的計算指令都會讓cpu執行,產生請求的這些進程組成"運行隊列",等待cpu執行,這個隊列就是系統負載, 系統負載是所有cpu的運行隊列的總和.
[root@oldboye ~]# w
20:25:48 up 95 days, 9:06, 1 user, load average: 2.92, 0.00, 0.00
//假設當前計算機有4個核心的cpu,當前的負載是2.92
cpu1 cpu2 cpu3 cpu4
2.94/4(個cpu核心) = 73%的cpu資源被使用,剩下27%的cpu計算資源是空想的
//假設當前的計算有2個核心的cpu,當前的負載是2.92
2.92/2 = 146% 已經驗證超過了cpu的處理能力
7. 日常故障排查流程(含日誌)
- w/uptime, 查看負載
- ps aux/top 看看 cpu百分比, io wait或者是內存佔用的高? (三高 cpu,io,內存)
- top檢查具體是哪個進程,找出可疑進程
- 追蹤這個進程使用情況,做什麼的?
- 看看對應**日誌**是否有異常
- 系統日誌: /var/log/messages(系統通用日誌) /var/log/secure(用戶登錄情況)
- 服務軟體的日誌
***3.那平均負載為多少時合理\***
*最理想的狀態是每個 CPU核心 上都剛好運行著一個進程,這樣每個 CPU 都得到了充分利用。所以在評判平均負載時,首先你要知道系統有幾個 CPU核心,這可以通過 top 命令獲取,或`grep 'model name' /proc/cpuinfo`*
系統平均負載被定義為在特定時間間隔內運行隊列中的平均進程數。如果一個進程滿足以下條件則其就會位於運行隊列中:
- 它沒有在等待I/O操作的結果
- 它沒有主動進入等待狀態(也就是沒有調用'wait')
- 沒有被停止(例如:等待終止)
《內容來自老男孩老師的課堂筆記》