linux下LTP工具說明
LTP工具說明
1 LTP測試套件
1.1 簡介
LTP(LinuxTest Project)是SGI、IBM、OSDL和Bull合作的專案,目的是為開源社群提供一個測試套件,用來驗證Linux系統可靠性、健壯性和穩定性。LTP測試套件是測試Linux核心和核心相關特性的工具的集合。該工具的目的是通過把測試自動化引入到Linux核心測試,提高Linux的核心質量。LTP提供了驗證linux系統穩定性的標準,設計標準的壓力場景,通過對linux系統進行壓力測試,對系統的功能、效能進行分析,並以此確定linux系統的可靠性、健壯性和穩定性。
如表1,是對LTP源包目錄結構的描述:
INSTALL |
LTP安裝配置指導文件 |
README |
LTP介紹 |
CREDITS |
記錄對LTP有很大貢獻的人 |
COPYING |
GNU Public License |
ChangeLog |
描述版本變化 |
ltpmenu |
規劃執行LTP的圖形化介面介面 |
Makefile |
LTP頂層目錄的Makefile,負責編譯安裝pan、testcases和tools |
runalltests.sh |
順序執行全部測試例程並且報告結果的指令碼 |
doc/* |
工程文件包含工具和庫函式使用手冊,描述各種測試 |
include/* |
通用的標頭檔案目錄 |
lib/* |
通用的庫函式目錄 |
testcases/* |
包含在LTP下執行和bin目錄下的所有測試用例和連結 |
testscripts/* |
存放分組的測試指令碼 |
runtest/* |
為自動測試提供命令列表 |
pan/* |
測試的驅動裝置。具備隨即和並行測試的能力 |
scratch/* |
存放零碎測試的東西 |
tools/* |
存放自動化測試指令碼和輔助工具 |
表1 LTP原始碼結構
2 LTP安裝
2.1 下載
LTP是一項動態工程,LTP源包命名方式一般為:ltp-yyyymmdd。目前版本為ltp-20110228。以下均為ltp-20110228版本的配置,官網地址為:http:/ltp.sourceforge.net/。
2.2 編譯
從官方網站下載最新的LTP測試套件包,解壓後進入ltp源目錄。按照表2方法進行快速安裝,在編譯成功後會自動安裝到/opt/ltp目錄下。
[[email protected] ltp]#./configure [[email protected] ltp]# make [[email protected] ltp]# make install |
IDcheck.sh |
檢查系統是否缺少執行LTP測試套件所需的使用者和使用者組,如果缺少則為LTP測試套件建立所需的使用者和使用者組。 |
|
runltplite.sh |
這個指令碼用來測試LTP安裝,也可用來對測試套件的子專案進行測試。詳情參閱指令碼。 |
|
runltp |
這個指令碼能夠測試LTP測試套件主要專案。其中包括: - 硬碟 I/O 測試。 - 記憶體管理壓力測試。 - IPC 壓力測試。 - SCHED測試。 - 命令功能的驗證測試。 - 系統呼叫功能的驗證測試。 |
|
ver_linux |
這個指令碼是獲取硬體、軟體、環境資訊。 |
|
runalltests.sh |
測試內容同runltp,不同點在於runltp可以指定測試項進行組合測試,而runalltests.sh則會全部執行。 |
|
testscripts |
列舉了所有的子系統測試指令碼,指令碼說明見下文。 |
|
adp_children.sh |
sysfs.sh |
|
ltp-aiodio.sh |
ltpstress.sh |
|
runpan.sh |
networkstress.sh |
|
adp.sh |
adp.sh |
|
autofs1.sh |
autofs4.sh |
|
diskio.sh |
exportfs.sh |
|
fs_ro_tests |
isofs.sh |
|
load_stress_all_kernel_modules.sh |
ltpdmmapper.sh |
|
ltpfslvm.sh |
ltpfslvm.sh |
|
ltp-scsi_debug.sh |
math.sh |
|
networktests.sh |
runEALtests.sh |
|
runpan.sh |
syscall.sh |
|
tet_containers.sh |
test_filecaps.sh |
|
test_fs_bind.sh |
test_realtime.sh |
|
test_robind.sh |
test_selinux.sh |
|
runpan.sh |
表2 編譯
在安裝編譯ltp之前,需要確定linux系統“make”版本,ltp編譯需要“make”版本最低要求為“make 3.80”,優先使用“make 3.81”版本。為了編譯和使用ltp-scanner,linux系統需要安裝bison/yacc和flex包。詳細安裝方法可參照說安裝說明檔案INSTALL(源包目錄)。
3 LTP測試套件結構說明
3.1 概述
LTP編譯成功後,包含三大部分:測試案例、測試指令碼、測試驅動。測試案例目錄為testcases/,testcases/包含了測試案例和案例指令碼;測試指令碼主要目錄為testscripts/,裡面包含了檔案系統,磁碟,核心,記憶體等測試指令碼;測試驅動目錄為bin/,該目錄存放了ltp各種驅動指令碼,如ltp-pan,ltp-scanner等。
表3 描述了ltp編譯後各目錄儲存的內容和功能:
目錄名 |
功能 |
bin |
存放LTP測試的一些輔助指令碼 |
results |
測試結果預設儲存目錄 |
testcases |
測試項集 |
output |
測試日誌預設儲存目錄 |
share |
指令碼使用說明目錄 |
runtest |
測試驅動(用於連結testscripts內的測試指令碼和testcases測試專案) |
lib |
通用的庫函式目錄 |
表3 目錄描述
從一個測試命令檔案(或指令碼)中讀取所測條目需要執行的命令列,然後等待該項測試的結束,並記錄詳細的測試輸出。預設狀態下pan會隨機的選擇一個命令列來執行,可以指定在同一時間要執行測試的次數。pan會記錄測試產生的詳細的格式複雜的輸出,但它不進行資料的整理和統計,資料整理統計的工作由scanner來完成,scanner是一個測試結果分析工具,它會理解pan的輸出格式,並通過表格的形式總結測試passed或failed的情況。簡單地說,LTP測試套件通過執行測試指令碼runalltests.sh(或runltp或runltplite.sh)或testscripts內的測試指令碼,呼叫驅動程式pan執行testcases內的測試專案,輸出測試結果,並利用scanner整理資料。
4 LTP測試套件測試內容
以ltp-20110228版本為例(目前是最新)。ltp-20110228測試內容主要包括以下幾大部分:commands(常用命令測試),kernel(核心模組及其相關模組,如檔案系統,磁碟讀寫等),kdump(核心轉儲),network(網路),realtime(系統實時性)open_posix_testsuite(posix標準),misc(崩潰,核心轉儲,浮點運算等)。以下是具體內容:
cpio |
mv |
eject |
mkdir |
gzip |
ln |
|
cp |
su |
size |
at |
objdump |
cron |
nm |
logroate |
ldd |
tar |
ld |
unzip |
file |
ar |
表4 commands
這個模組主要對系統的檔案系統、程序通訊、模組管理、記憶體、系統呼叫、系統排程、磁碟讀寫、安全等進行功能和壓力測試。詳細內容如表5所示:
fs |
connectors |
Ipc |
module |
pty |
timers |
containers |
hotplug |
numa |
sched |
tracing |
controlers |
include |
mce-test |
performance_counters |
security |
device-drivers |
io |
mem |
power_management |
syscalls |
表5 kernel相關測試內容
4.1.3 kdump
kdump是系統崩潰轉儲功能,這個模組是對kdump工具實現崩潰轉儲的測試。
network功能點非常多,包括dhcp,nfs,rpc,iproute等,具體如表6所示:
can |
iproute |
rpc |
tcp_cmds |
datafiles |
iptables |
multicast |
sctp |
traceroute |
dhcpd |
lib6 |
nfs |
sockets |
xinetd |
nfsv4 |
stress |
表6 network
realtime測試套件是對linux系統實時性進行測試。
open_posix_testsuite測試套件是對linux系統open_posix符合性進行測試。
4.1.7 misc
misc包括系統crash,f00f,math,tcore_patch_test_suites測試。
4.2.1 commands模組內容描述及實現方法
序號 |
測試內容 |
子測試點 |
內容含義 |
指令碼說明 |
1 |
ade |
ar |
可以用來建立、修改庫,也可以從庫中提出單個模組 |
用來測試該系統命令的檔案是runtest/commands,可以通過runltp指令碼呼叫。例子:./runltp -f commands |
file |
辨識檔案型別 |
|||
ld |
一定量的目標檔案跟檔案檔案連線起來,並重定位它們的資料,連線符號引用 |
|||
ldd |
用來檢視程式執行所需的共享庫,常用來解決程式因缺少某個庫檔案而不能執行的一些問題 |
|||
nm |
顯示目標檔案的符號表 |
|||
objdump |
顯示二進位制檔案資訊 |
|||
size |
顯示檔案大小 |
|||
2 |
at |
無 |
任務規劃工具。測試內容為/etc/at.allow和/etc/at.deny功能 |
測試指令碼在testcases/bin/at.allow和testcases/bin/at.deny中 |
3 |
cpio |
無 |
存取歸檔包中的檔案 |
用來測試該系統命令的檔案是runtest/commands,可以通過runltp指令碼呼叫。例子:./runltp -f commands |
4 |
cron |
無 |
在一定的時間間隔排程一些命令的執行 |
|
5 |
eject |
無 |
退出抽取式裝置 |
測試指令碼為: testcases/bin/ eject-test.sh |
6 |
fileutils |
cp |
複製命令 |
用來測試改系統命令的檔案是runtest/commands,可以通過runltp指令碼呼叫。例子:./runltp -f commands |
ln |
符號連結命令 |
|||
mkdir |
建立目錄 |
|||
mv |
移動或重新命名 |
|||
7 |
gzip |
無 |
解壓縮命令 |
|
8 |
logrotate |
無 |
管理記錄檔案 |
|
9 |
|
無 |
收發郵件管理 |
|
10 |
su |
無 |
變更使用者 |
測試指令碼為testcases/bin/su01,但在執行改指令碼之前,系統需要安裝有expect命令 |
11 |
tar |
無 |
對檔案目錄進行打包備份 |
用來測試該系統命令的檔案是runtest/commands,可以通過runltp指令碼呼叫。例子:./runltp -f commands |
12 |
tpm-tools |
無 |
tpm-tools是TPM晶片的管理工具。對tpm-tools進行測試,需要確定系統安裝有TPM晶片,且系統為Linux。 TPM實際上是一個含有密碼運算部件和儲存部件的小晶片上的系統,由CPU、儲存器、 I/O、密碼運算器、隨機數產生器和嵌入式作業系統等部件組成。 |
此功能在runtest中的tpm_tools中,可以使用runltp指令碼加上tpm_tools引數執行,也可以在testscripts中呼叫tpm_tools指令碼執行 |
13 |
unzip |
無 |
解壓縮zip檔案 |
用來測試該系統命令的檔案是runtest/commands,可以通過runltp指令碼呼叫。例子:./runltp -f commands |
表7 commands實現方法
編號 |
測試項 |
子測試項 |
對應指令碼以及說明 |
含義 |
1 |
connectors |
./runltp -f connecors |
網路聯結器測試 |
|
2 |
fs |
acl |
測試方法: testcases/bin/tar_tests.sh |
測試ACL(訪問控制列表)和Excent Attribute 備註:核心支援loop裝置;一個大於100M的磁碟分割槽;核心支援ACL功能 |
3 |
acls |
測試方法: tescases/bin/acl_test01 |
測試擴充套件的acls 需求:同上 |
|
4 |
dmapi |
dmapi功能驗證測試 備註:ltp預設沒有編譯此功能需要到源目錄執行,參照dmapi目錄下的README |
||
5 |
doio |
testcases/bin/growfile |
doio和讀寫測試 |
|
6 |
ext4-new-features |
./runltp -f fs_ext4 |
ext4檔案系統測試 |
|
7 |
fs-bench |
testcases/bin/test.sh |
檔案系統的壓力測試 |
|
8 |
fs_bind |
/testscripts/test_fs_bind.sh |
測試LINUX核心的繫結安裝和共享子樹的能力 |
|
9 |
fs_di |
./runltp -f fs |
檔案系統的資料完整性 |
|
10 |
fs_inod |
./runltp -f fs |
在後臺執行多個程序來快速建立和刪除檔案,使用者可以指定建立的目錄、檔案數等 |
|
11 |
fs_maim |
backbeat maimparts partbeat |
fs_maim是儲存管理工具壓力測試集合 備註:因為fs_maim執行會損壞資料,因此並沒有編譯。詳情參找源目錄下到fs_maim目錄 |
|
12 |
fs_perms |
測試指令碼: ./runltp -f fs_perms_simple |
這個指令碼是測試檔案執行到許可權,群組和使用者組 |
|
13 |
fsstress |
testcases/bin/fsstres;詳細用法可以參照該指令碼 |
檔案系統壓力測試 備註:檔案系統壓力測試預設新增到指令碼testscripts/ltpstress.sh或runltp或runalltests |
|
14 |
fsx-linux |
./runltp -f fs |
fsx檔案系統的壓力測試 |
|
15 |
ftest |
./runltp -f fs |
||
16 |
inode |
./runltp -f fs |
||
17 |
lftest |
./runltp -f fs |
||
18 |
linktest |
./runltp -f fs |
迴歸測試檔案的連線,常見一個硬連結和一定數目的軟連結 |
|
19 |
mongo |
testcases/bin/test.sh 和testcases/bin/run_mongo和testcases/bin/mongo.pl |
mongo檔案測試 備註:測試mongo檔案可能會擦除以前的內容,會損壞檔案。詳細配置見源目錄下的mongo目錄 |
|
20 |
openfile |
./runltp -f fs |
||
21 |
proc |
testscripts/adp.sh |
在proc檔案系統上執行自動資料處理的壓力測試 |
|
22 |
quote_remount |
./runltp -f fs |
測試核心是否支援重新掛載額定的大小檔案 |
|
23 |
racer |
./runltp -f fs |
檔案操作測試如:建立檔案,刪除等操作 |
|
24 |
scsi |
/testscripts/ltp-scsi_debug.sh |
測試SCSI模組 |
|
25 |
stream |
./runltp -f fs |
檔案流寫入測試 |
|
26 |
module |
/testscripts/load_ stress_all_kernel_modules.sh或 ./runltp -f modules |
對核心模組進行測試 |
|
27 |
ipc |
Ipc_stresss |
./runltp -f ipc |
程序間通訊壓力測試 |
28 |
pipeio |
./runltp -f pipes |
ipc的管道壓力 |
|
29 |
semaphore |
./runltp -f ipc |
訊號量測試 |
|
30 |
pty |
./runltp -f pty |
終端型別的壓力 |
|
31 |
timers |
相關推薦linux下LTP工具說明LTP工具說明 Linux下同步工具inotify+rsync使用詳解server linux 通道 主機 Linux下同步工具inotify+rsync使用詳解 Posted on 2014-12-12 | In Linux | 9 | Visitors 4381. rsync1.1 什麽是rsyncrsync是一個遠程數據同步工具,可通過LAN/WAN linux下DOS工具site 使用 說明 -s 壓力 inux and linux下 tcp/ip 1.Hping3/Nping TCP/IP數據包生成工具,用於壓力測試,安全審計 2.使用hping進行DOS攻擊 命令:hping3 -c 10000 -d 120 -S -w 64 Linux下應急工具rac reserve mar req contact system cal kthread smi Linux下的應急工具 在Linux下,應急的查看點無非那個幾個,一是看表現(宕機、高CPU、高內存、高IO、高網絡通信),二看連接、三看進程、四看日誌、五看文件(Lin kail linux 下nc工具的基本使用(安全牛視頻)效果 設計 思路 all 可靠 加密方法 了解 一個 網站 一、簡介 nc是netcat的簡寫,有著網絡界的瑞士×××美譽。因為它短小精悍、功能實用,被設計為一個簡單、可靠的網絡工具。 nc 常用的命令有兩個: 1、-v 輸出詳細的交互或者出錯信息 2、-n 如果後面是ip Linux下實用工具音訊錄製:Audacity 串列埠除錯:cutecom HTTP_post/get:Postman 磁碟管理工具:gparted linux下第三方庫: jsoncpp(json解析)/*json.h和原始檔不能在用以目錄,原因未知*/ opencv(影象處理/只用到拍照) linux下xclock工具沒有安裝的處理我們在輸入xclock時,報找不到命令: [[email protected]dbserver ~]$ xclock -bash: xclock: command not found 如果排除了路徑找不到的問題,那麼,一般是 詳解Linux下auto工具製作Makefile原始碼包(製作篇)收藏於 2012-03-25 遷移自個人的百度空間 -------------------------------- 一、 概述 為了更好的製作configure與Makefile,我先把製作流程給寫在這裡,好讓大夥都有個心理準備。這裡只說流程,不做解釋。(附圖供參考) 1 詳解Linux下auto工具製作Makefile原始碼包(工具安裝篇)收藏於 2012-03-25 遷移自個人的百度空間 ------------------------------- 一、引子 咱們都知道make好用,但是大型的軟體make是很麻煩的,為了解決這個問題,先人們就發明了autoconf與automake工具,用這些工具可以非常方便的製作 linux下程式設計工具推薦和配置-vim工欲善其事,必先利其器 從網上找的兩個比較強大的程式碼編輯和工程開發工具,沉下心來,好好配置一下,畢竟程式碼是陪伴程式設計師一生最長久的夥伴,值得好好打理一下。 為了方便大家下載使用,我把它 Linux下開發工具備註編輯器-Vim 都知道vim是Linux下的編輯器之神,當然還有emacs也是特別NB的,個人在Linux下比較常用的也就是Vim了,接下來說說vim的一些配置技巧: 配置常見的程式碼模板 func Setfilehead() call append(0 Linux 下防毒工具 clamavclamav 防毒工具;Linux下的防毒工具; 下載地址; 最新 包 0.101 官網下載地址:http://www.clamav.net/downloads最新包地址: https://clamav-site.s3.amazonaws.com/production/release_f MonjaDB—MongoDB ubuntu linux下管理工具 客戶端管理工具 mongovue的替換者MonjaDB 是一個 MongoDB 的 GUI 客戶端工具,提供直觀的 MongoDB 資料管理的功能,支援 Windows/Mac/Linux. MonjaDB 是一個 Eclipse 外掛,必須先安裝 Eclipse。 主要特點: 易用WYSIWYG 編輯 JSO linux下Ping工具的C語言實現前言: ping命令是用來檢視網路上另一個主機系統的網路連線是否正常的一個工具 ping命令的工作原理是:向網路上的另一個主機系統傳送ICMP報文,如果指定系統得到了報文,它將把報文一模一樣地傳回給傳送者 ping實現的九大步驟: 第一步:建立i linux下plink工具完全命令列遠端批量關機轉自http://19793580.blog.hexun.com/78309198_d.html 我的作業系統是centos6.4 作業系統:rhel 6.2 x86_64 下載並安裝putty軟體包,本人下載了putty-0.62-1.el6.rf.x86_64.rp linux下nmap工具的使用原貼:http://www.mscto.com/Unix_Linux/24680105.htmlMap,也就是Network Mapper,是Linux下的網路掃描和嗅探工 具包,其基本功能有三個,一是探測一組主機是否線上;其次是 掃描主機埠,嗅探所提供的網路服務;還可以推 Linux下python工具不顯示圖形介面的解決方案一、命令列輸入jupyter-notebook沒反應那是因為需要到圖形介面下開啟瀏覽器輸入http://localhost:8888/tree才可以,第一次登陸的時候還需要填寫一個token,在命令列有提示二、命令列輸入Spyder沒反應Linux 下給Spyder建立桌面快 Linux下常用工具solaris 10下快速部署samba服務作者:田逸([email protected]) 版權所有,未經本人許可,不得以任何方式轉載或傳播 samba服務是linux與windows共享檔案的一種方式,從某種意義上講,samba服務屬於檔案伺服器的一種。下面,我 Linux下cut工具的使用cut命令從檔案的每一行剪下位元組、字元和欄位,並寫至標準輸出,如果不指定file引數cut命令將讀取標準輸入,使用cut命令時必須指定-b、-c或-f之一。 常用選項: 1、-b 選項:以位元組為 linux下adb工具的安裝從別處轉來的,沒有看到原文連線,這裡特此宣告,如果原文作者有看到,請告知 第一步:啟動開發板,進入android系統後,在linux終端輸入lsusb命令查詢USB總線上的裝置,比如我這裡查詢結果如下: Bus 005 Device 001: ID 1d6b:0001 |