導航:首頁 > 操作系統 > linuxuptime

linuxuptime

發布時間:2023-08-09 21:26:47

A. 如何查看系統運行時間 linux

可以在終端執行top命令,如下圖即顯示linux的運行時間
(紅圈裡的位置,我的電腦運行了7小時57分).

B. Linux哪個命令可以查看當前系統時間

題主你好,

最常用的命令是: date

=====

希望可以幫到題主, 歡迎追問.

C. 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')
- 沒有被停止(例如:等待終止)
《內容來自老男孩老師的課堂筆記》

D. Linux命令裡面w和uptime命令區別是什麼

Linux w命令用於顯示目前登入系統的用戶信息。

執行這項指令可得知目前登入系統的用戶有李返哪些人,以及他們正在執行的程序。

單獨執行 w 指碰數令會顯示所有的用戶,您也可指定用戶名稱,僅顯示某位用戶的相關信息。

E. linux下如何查看cpu內存等信息

linux查看cpu核數和內存大罩御高小命令分別為:

1、查看CPU個數*核心數:

cat /proc/cpuinfo |grep「physical id」 | uniq | wc -l

96 #一共96核

2、查看內存總數

#cat /proc/meminfo | grep MemTotal

MemTotal: 230993600 kB

Linux下查看CPU型號,內存大小,硬碟空間的命令:

1、查看CPU核數

cat /proc/cpuinfo | grep 「cpu cores」 | uniq

cpu cores : 12 #12是拆虛單顆CPU的核心數

2、查看CPU型號

cat /proc/cpuinfo | grep 『model name』 |uniq

model name : Intel® Xeon® CPU E7-4830 v3 @ 2.10GHz

3、查看linux物理內存數量物尺及大小

dmidecode -t memory | grep Size: | grep -v 「No Mole Installed」

F. Linux命令行查看內存

用 'top -i' 看看有多少進程處於 Running 狀態,可能系統存在內存或 I/O 瓶頸,用 free 看看系統內存使用情況,swap 是否被佔用很多,用 iostat 看看 I/O 負載情況...

還有一種辦法是 ps -ef | sort -k7 ,將進程按運行時間排序,看哪個進程消耗的cpu時間最多。

top:
主要參數 :

free
1.作用
free命令用來顯示內存的使用情況,使用許可權是所有用戶。
**2.格式 **

**3.主要參數 **

uptime

vmstat

**1 觀察磁碟活動情況 **
磁碟活動情況主要從以下幾個指標了解:

**2 觀察cpu活動情況 **
vmstat比top更能反映出cpu的使用情況:

iostat
用於統計CPU的使用情況及tty設備、硬碟和CD-ROM的I/0量

即使爬到最高的山上,一次也只能腳踏實地地邁一步。

Linux查看CPU和內存使用情況:

在做Linux系統優化的時候,物理內存是其中最重要的一方面。自然的,Linux也提供了非常多的方法來監控寶貴的內存資源的使用情況。下面的清單詳細的列出了Linux系統下通過視圖工具或命令行來查看內存使用情況的各種方法。

1. /proc/meminfo

查看RAM使用情況最簡單的方法是通過 /proc/meminfo 。這個動態更新的虛擬文件實際上是許多其他內存相關工具(如:free / ps / top)等的組合顯示。 /proc/meminfo 列出了所有你想了解的內存的使用情況。進程的內存使用信息也可以通過/proc/<pid>/statm 和 /proc/<pid>/status 來查看。

atop命令是一個終端環境的監控命令。它顯示的是各種系統資源(CPU, memory, network, I/O, kernel)的綜合,並且在高負載的情況下進行了彩色標注。

free命令是一個快速查看內存使用情況的方法,它是對 /proc/meminfo 收集到的信息的一個概述。

GNOME System Monitor 是一個顯示最近一段時間內的CPU、內存、交換區及網路的使用情況的視圖工具。它還提供了一種查看CPU及內存使用情況的方法。

htop命令顯示了每個進程的內存實時使用率。它提供了所有進程的常駐內存大小、程序總內存大小、共享庫大小等的報告。列表可以水平及垂直滾動。

功能同 4 中介紹的GENOME版本。

memstat是一個有效識別executable(s), process(es) and shared libraries使用虛擬內存情況的命令。給定一個進程ID,memstat可以列出這個進程相關的可執行文件、數據和共享庫。

nmon是一個基於ncurses的系統基準測試工具,它可以監控CPU、內存、I/O、文件系統及網路資源等的互動模式。對於內存的使用,它可以實時的顯示 總/剩餘內存、交換空間等信息。

ps命令可以實時的顯示各個進程的內存使用情況。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 「–sort」選項對進程進行排序,例如按RSS進行排序:

smem命令允許你統計基於/proc信息的不同進程和用戶的內存使用情況。內存使用情況的分析可以導出圖表(如條形圖和餅圖)。

top命令提供了實時的運行中的程序的資源使用統計。你可以根據內存的使用和大小來進行排序。

vmstat命令顯示實時的和平均的統計,覆蓋CPU、內存、I/O等內容。例如內存情況,不僅顯示物理內存,也統計虛擬內存。

閱讀全文

與linuxuptime相關的資料

熱點內容
androidseekbar進度條 瀏覽:356
梯度上升演算法知乎 瀏覽:647
qt項目源碼下載 瀏覽:395
不允許代理伺服器什麼意思 瀏覽:511
盲反卷積演算法 瀏覽:306
峰火戰國什麼時候能開伺服器 瀏覽:452
加密的pdf怎麼提取和修改 瀏覽:488
壓縮空氣氣體流量計 瀏覽:845
高角杯如何編程 瀏覽:1011
哪個app可以下載迷失島 瀏覽:29
100以內程序員鍵盤 瀏覽:914
調試助手源碼是什麼 瀏覽:601
程序員網優 瀏覽:461
有沒有極限壓縮方法 瀏覽:79
岳陽hypermill五軸編程 瀏覽:385
超級舒服的解壓神器 瀏覽:450
超短macd源碼 瀏覽:166
群暉怎麼設置用戶訪問指定文件夾 瀏覽:557
安卓怎麼測觸摸屏 瀏覽:596
javastring原理 瀏覽:318