詳細分析Linux du命令的使用

Linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對文件和目錄磁盤使用的空間的查看,還是和df命令有壹些區別的,這裏介紹Linux du命令。

  du:查詢檔案或目錄的磁盤使用空間

  a:顯示全部目錄和其次目錄下的每個檔案所占的磁盤空間

  b:大小用bytes來表示 (默認值為k bytes)

  c:最後再加上總計 (默認值)

  s:只顯示各檔案大小的總合

  x:只計算同屬同壹個檔案系統的檔案

  L:計算所有的檔案大小

  常用命令:du –a

  操作詳解

  引用

  指令 du 能以指定的目錄下的子目錄為單位,顯示每個目錄內所有檔案所占用的磁盤空間大小。例如:

  # du -h /etc

  104K /etc/defaults

  6.0K /etc/X11

  8.0K /etc/bluetooth

  4.0K /etc/gnats

  52K /etc/isdn

  388K /etc/mail

  68K /etc/mtree

  2.0K /etc/ntp

  38K /etc/pam.d

  44K /etc/periodic/daily

  6.0K /etc/periodic/monthly

  42K /etc/periodic/security

  16K /etc/periodic/weekly

  110K /etc/periodic

  6.0K /etc/ppp

  318K /etc/rc.d

  2.0K /etc/skel

  130K /etc/ssh

  10K /etc/ssl

  1.7M /etc

  我們目樣使用 -h 參數來顯示 human-readable 的格式。在應用時,我們可以使用 du 這個指令來查看哪個目錄占用最多的空間。不過,du 的輸出結果通常很長,我們可以加上 -s 參數來省略指定目錄下的子目錄,而只顯示該目錄的總合即可:

  # du -sh /etc

  1.7M /etc

  在查看目錄的使用情形時,我們可以將輸出結果導到 sort 指令進行排序,以了解哪個檔案用了最多的空間:

  # du /etc | sort -nr | more

  1746 /etc

  388 /etc/mail

  318 /etc/rc.d

  130 /etc/ssh

  110 /etc/periodic

  104 /etc/defaults

  68 /etc/mtree

  52 /etc/isdn

  44 /etc/periodic/daily

  42 /etc/periodic/security

  38 /etc/pam.d

  16 /etc/periodic/weekly

  10 /etc/ssl

  8 /etc/bluetooth

  6 /etc/ppp

  6 /etc/periodic/monthly

  6 /etc/X11

  4 /etc/gnats

  2 /etc/skel

  2 /etc/ntp

  sort 的參數 -nr 表示要以數字排序法進行反向排序,因為我們要對目錄大小做排序,所以不可以使用 human-readable 的大小輸出,不然目錄大小中會有 K、M 等字樣,會造成排序不正確。

  現在明了了Linux du命令和Linux df命令的不同之處了嗎。

Linux學習-Iterator叠代得到list中的值

Iterator叠代可以得到list中的數值。

  Iterator  iterator  =  list.iterator() ;

  While( iterator.hasNext()){

  String XX=(String)iterator.next();

  }

  註意在while循環中壹定要有iterator.next();且只能出現壹次,必須有是因為只有.next()才能得到下壹條數據,否則進入死循環,只能有壹次是因為,出現壹次得到嚇壹跳記錄,如果同時出現兩次,則是在以此循環中得到了兩個數據。

對Linux內核進行壓力測試

自動軟件測試讓您可以在壹段時間內運行相同的測試,從而確保您所比較的內容具備真正的可比性。在本文中,Linux Test Project 團隊的成員們分享了他們對 Linux? 內核進行壓力所使用的測試的方法、原理以及腳本和工具。

  在對 Linux 內核版本穩定性的測試中,需要明確地聲明並證明為什麽版本是穩定的或者是不穩定的。然而還沒有被證明和證實當前現有的系統範圍內的壓力測試可以測試 Linux 內核整體上的穩定性。本文給出了壹個創建系統範圍內 Linux 壓力測試並證明其結果正確性的方法。不同的 Linux 開發者、用戶和發行版本會使用他們自己的方法來測試內核的穩定性。不過,關於他們決定運行哪些測試、覆蓋的代碼、達到的壓力級別等的基礎信息都沒有發布,這就大大降低了結果的價值。

  使用實驗室的機器以及來自 Linux Test Project 測試套件的測試,我們基於系統資源的利用率統計開發了壹個測試的組合,為系統提供足夠的壓力。我們對這個組合測試進行了分析,以確定 Linux 內核的哪些部分在測試執行中得到了使用。然後,我們修改了組合測試,在保持期望的高強度系統壓力的同時提高代碼覆蓋率的百分比。最終得到的壓力測試涵蓋了 Linux 內核的足夠多部分,有助於穩定性聲明,並且有系統使用情況和內核代碼覆蓋情況的數據來支持它。

  這壹組合測試方法的四個步驟是:測試選擇、系統資源利用率評價、內核代碼覆蓋分析以及最終的壓力測試評價。

  選擇測試

  測試選擇包括選擇達成兩方面目的的測試:

  測試應該可以得到 CPU(s)、內存、I/O 和網絡等主要內核區域的高水平的資源利用率。

  測試應該充分地覆蓋內核代碼,以幫助支持自其結果中生成的穩定性聲明。

  只要有可能,都要使用自動化的或者易於修改的測試,以支持自動操作。自動操作可以使得測試更快而且可以重復進行,並幫助降低人為錯誤的風險。選擇合適的測試時需要考慮的另壹個方面是,使用可以自由發布結果的應用程序。最好是選擇堅決擁護開放源代碼方法和/或 GPL 的測試和測試套件,以助於確保發布過程的簡便。

  評價系統資源利用率

  所選擇的測試的組合必須給系統的資源帶來足夠的壓力。Linux 內核的四個主要方面可以影響系統的響應和執行時間:

  CPU:用於在機器的 CPU(s)上處理數據的時間。

  Memory:用於自真實存儲器中讀寫數據的時間。

  I/O:用於自磁盤存儲器讀寫數據的時間。

  Networking:用於自網絡讀寫數據的時間。

  測試設計者應該使用下面這兩個著名的且廣為應用的開放源代碼 Linux 資源監控工具來評價資源利用率水平。(請參閱本文稍後的 參考資料 以獲得下載這些工具的鏈接。)

  top:由 Albert D. Cahalan 維護著的壹個開放源代碼工具,包含於大部分 Linux 發行版本中,可用於當前的 2.4 和 2.6 內核。

  sar:另壹個開放源代碼工具;它由 Sebastien Godard 維護。這個工具也包含於大部分 Linux 發行版本中,可用於當前的 2.4 和 2.6 內核。

  方法中的系統資源利用率評價階段通常需要多次嘗試才能得到合適的測試組合,並得到期望水平的利用率。當確定測試組合時,過度利用總是壹個至關重要的問題。例如,如果選擇的組合過於受 I/O 所限,可能會導致 CPU 的測試結果不好,反之亦然。方法的這壹部分主要是大量的試驗和出錯,直到所有資源達到期望水平。

  top 工具可用於迅速確定每個測試影響哪個資源(CPU、內存或者 I/O),並實時地顯示出它們使用了多少資源。 sar 工具用於收集壹段時間內的網絡利用率統計數據,並將所有利用率數據的快照記錄到壹個文件。

  當選定壹個組合後,測試必須長時間運行以準確評價資源的利用率。測試運行的時間長短取決於每個測試的長度。假如多個測試同時運行,則時間必須足夠長以使得這些測試中最長的那個可以完成。在這個評價過程中,sar 工具也應該在運行。在評價運行的結論中,您應該收集並評價所有四種資源的利用率水平。