2010年11月13日 星期六

[Linux 小學堂] Linux 系統資源的觀察 ( free , uname , uptime )


Source (VBird:鳥哥) 
除了系統的程序之外,我們還必須就系統的一些資源進行檢查啊!舉例來說,我們使用 top 可以看到很多系統的資源對吧!那麼,還有沒有其他的工具可以查閱的? 當然有啊!底下這些工具指令可以玩一玩!

free :觀察記憶體使用情況
[root@www ~]# free [-b|-k|-m|-g] [-t]
選項與參數:
-b :直接輸入 free 時,顯示的單位是 Kbytes,我們可以使用 b(bytes), m(Mbytes)
k(Kbytes), 及 g(Gbytes) 來顯示單位喔!
-t :在輸出的最終結果,顯示實體記憶體與 swap 的總量。


範例一:顯示目前系統的記憶體容量
linux-7xud:~ # free -m <以 m(Mbytes)顯示記憶體使用情形>
total used free shared buffers cached
Mem: 504 498 5 0 33 306
-/+ buffers/cache: 157 346
Swap: 517 0 517

仔細看看,我的系統當中有 500MB 左右的實體記憶體,我的 swap 有 500MB 左右, 那我使用 free -m 以 MBytes 來顯示時,就會出現上面的資訊。Mem 那一行顯示的是實體記憶體的量, Swap 則是虛擬記憶體的量。 total 是總量, used 是已被使用的量, free 則是剩餘可用的量。 後面的 shared/buffers/cached 則是在已被使用的量當中,用來作為緩衝及快取的量。
仔細的看到範例一的輸出喔,我們的 Linux 測試用主機是很平凡的,根本沒有什麼工作, 但是,我的實體記憶體是幾乎被用光光的情況呢!不過,至少有 33MB 用在緩衝記憶 (buffers) 工作, 306MB 則用在快取 (cached) 工作,也就是說,系統是『很有效率的將所有的記憶體用光光』, 目的是為了讓系統的存取效能加速啦!
很多朋友都會問到這個問題『我的系統明明很輕鬆,為何記憶體會被用光光?』現在瞭了吧? 被用光是正常的!而需要注意的反而是 swap 的量。一般來說, swap 最好不要被使用,尤其 swap 最好不要被使用超過 20% 以上, 如果您發現 swap 的用量超過 20% ,那麼,最好還是買實體記憶體來插吧! 因為, Swap 的效能跟實體記憶體實在差很多,而系統會使用到 swap , 絕對是因為實體記憶體不足了才會這樣做的

uname:查閱系統與核心相關資訊
[root@www ~]# uname [-asrmpi]
選項與參數:
-a :所有系統相關的資訊,包括底下的資料都會被列出來;
-s :系統核心名稱
-r :核心的版本
-m :本系統的硬體名稱,例如 i686 或 x86_64 等;
-p :CPU 的類型,與 -m 類似,只是顯示的是 CPU 的類型!
-i :硬體的平台 (ix86)


範例一:輸出系統的基本資訊
linux-7xud:~ # uname -a
Linux linux-7xud 2.6.16.21-0.8-default #1 Mon Jul 3 18:25:39 UTC 2006 i686 i686 i386 GNU/Linux

uname 可以列出目前系統的核心版本、 主要硬體平台以及 CPU 類型等等的資訊。以上面範例一的狀態來說,我的 Linux 主機使用的核心名稱為 Linux,而主機名稱為 linux-7xud,核心的版本為 2.6.16.21-0.8-default ,該核心版本建立的日期為 2006/7/3,適用的硬體平台為 i386 以上等級的硬體平台喔。

uptime:觀察系統啟動時間與工作負載
這個指令很單純呢!就是顯示出目前系統已經開機多久的時間,以及 1, 5, 15 分鐘的平均負載就是了。還記得 top 吧?沒錯啦!這個 uptime 可以顯示出 top 畫面的最上面一行!
linux-7xud:~ # uptime
3:31am up 4:25, 3 users, load average: 0.00, 0.00, 0.00 
This message was edited 10 times. Last update was at 16/06/2010 14:52:55

沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...