load averages 的 意義

轉載自: Linux下Top命令中load averages的涵義
top displays a variety of information about the processor state. The
display is updated every 5 seconds by default, but you can change that
with the d command-line option or the s interactive command.
uptime
This line displays the time the system has been up, and the three
load averages for the system. The load averages are the average
number of process ready to run during the last 1, 5 and 15 min-
utes.
This line is just like the output of uptime(1). The uptime
display may be toggled by the interactive l command.


top 動態抓 loading 的方法
top -t -n 25 < file


以下取自 http://www.csie.nctu.edu.tw/document/man-big5/FreeBSD/source/8817046@75.txt
[參數概表]
uptime
[使用說明]
uptime秀出目前時間 系統距上次重開機幾天,又幾小時幾分,目前站上有幾位使用者,
還有最近一分鐘,五分鐘,十五分鐘的CPU平均負載(數字越大代表CPU越吃力)
[使用範例]
uptime
9:27PM up 1 day, 18:18, 1 user, load averages: 0.66, 0.29, 0.21


[參數概表]
time [command]
[使用說明]
無參數時,time會秀出目前這個shell與他的子程序的
CPU使用者時間(秒) CPU系統時間(秒) 實耗時間([時]:分:秒) CPU時間佔實耗時間百分比。
有參數時,time會嘗試執行以這個參數為名的指令,並秀出
CPU使用者時間 CPU系統時間 實耗時間 CPU時間佔實耗時間百分比。
P.S.
CPU花在該程式上的時間稱為CPU時間
CPU時間又可細分為CPU花在程式本身的使用者時間與
作業系統處理該程式所花費的系統時間
[使用範例]
無參數
time
10.800u 6.365s 1:07:07.14 0.4%
有參數
time uptime
10:14PM up 1 day, 19:05, 1 user, load averages: 0.04, 0.21, 0.23
0.006u 0.018s 0:00.90 1.1%


[參數概表]
su [-Kflm] [-c class] [login [args]] [-c command]
[使用說明]
su可以讓目前使用者的shell暫停,轉換成另一個user與group,並重新執行起一個新shell
感覺上就好像暫時變成了另外一個帳號,再執行exit時,就可變回本尊。
對於一般使用者而言
執行su login時,他會要求你輸入參數login的密碼,login必須是這個系統下的一個帳號
如果沒有參數login,login就等於是root,也就是su root
在FreeBSD下,你想要su成root是沒有這麼簡單的,你的gid必須是0
如果系統下都沒人gid=0,那任何人都可以su root
對於root而言,su成任何帳號都不會要求密碼的,懂這意思,root最大。
現在讓我們來看看su成功以後,系統會作什麼事
除了HOME,SHELL,USER這三個環境變數外,所有的環境變數都會保留原狀
HOME和SHELL會變成login目標的預設值
USER一般來說是變成login,不過如果你變成uid=0的帳號(通常是root)那USER就維持不變
當你su別的login時,你的資源限制仍然跟原來一樣,除非你變成uid=0的帳號,懂吧
看不懂沒關係 這跟你的login class有關,但我不會告訴你 你可以自己去查(login.conf(5))
還有一些參數
-K
我也不知道是幹麼的
-f
如果新shell是csh系列的話,這個參數讓新shell起來時不會讀取csh的設定檔(如.cshrc)
-l
模擬一個全新的login,所有的環境變數全部重新設定,除了HOME, SHELL, PATH, TERM, and USER
HOME,SHEEL就像上面解釋過的一樣去變化
USER不管目標login是不是uid=0,都一定會變成目標login
PATH會預設成這樣 "/bin:/usr/bin"
TERM則從你舊帳號的TERM copy過去
資源限制則是使用新帳號class的資源限制喔(請看login.conf(5))
-m
除了變成另一個帳號外,所有的環境都不變,目錄不變,環境變數也不變
單南啦 為了安全的因素 如果目標login的shell不是標準shell(getusershell(3))
而且 目標login的uid!=0 那你就su不過去啦
-c class
使用指定的login class的設定,限superuser喔
從以上的說明可以知道 -l與 -m 是水火不容的,後面指定的參數會蓋掉前面的
你還可以在su login後面接一些args,那是傳給新shell的參數
[使用範例]
su man -c catman
以man的身份執行catman指令(這裡的-c不是-c class而是傳給shell的參數喔)
su man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'
以man的身份執行 '....'指令
su -c staff man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'
跟上面指令一樣,只是資源限制是staff這個login class
su -l man
模擬man login


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 OS-Linux_BSD。將永久鏈結加入書籤。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料