本文是轉載,轉自:http://blog.csdn.net/julius_lee/article/details/8809444
stressaPPTest 其是:Stressful application Test (stressapptest) 的簡稱
Stressful Application Test試圖讓來自處理器和I/O到內存的數據盡量隨機化,以創造出模擬現實的環境來測試現在的硬件設備是否穩定,Google就在使用它,現在是Apache 2.0許可,這里有介紹、安裝向導和指南(http://code.google.com/p/stressapptest/wiki/InstallationGuide)。不過連接可能被墻,要用代理上。
其大概如下:
stressapptest may be used for various purposes:
Stress test: as described here. 壓力測試Hardware qualification and debugging. 硬件檢查和調試Memory interface test: see the Theory behind this. 內存接口測試Disk testing. 磁盤測試據谷歌的介紹,這個軟件會生產線程來拷貝和直接對磁盤進行讀取和寫入。目標則是盡可能地載入系統內存,以便更加有效地進行測試。該軟件更多的時候測試的是內存控制器和總線接口,而不是存儲單元的功能。谷歌稱,與其他內存診斷程序的比較,五分之一的內存模塊相關的系統誤差只能通過stressapptest發現。Many hardware issues rePRoduce infrequently, or only under corner cases. The theory being used here is that by maximizing bus and memory traffic, the number of transactions is increased, and therefore the probability of failing a transaction is increased. 這個測試會最大化總線和內存的交換量,從而交換失敗的概率也會增加。
stressapptest is a userspace test, primarily composed of threads doing memory copies and direct IO disk read/write. It allocates a large block of memory (typically 85% of the total memory on the machine), and each thread will choose randomized blocks of memory to copy, or to write to disk. Typically there are two threads per processor, and two threads for each disk. Result checking is done as the test proceeds by CRCing the data as it is copied. 該軟件采用多線程對內存進行拷貝和磁盤接口讀寫,占用了85%的內存塊,而且每個線程都是隨機進行的讀寫操作,一般每個處理器2個線程,磁盤也是;
stressapptest can be download at http://code.google.com/p/stressapptest/downloads
The code is structured fairly simply: 代碼結構簡單
A large amount of memory is allocated in a single block (default is 85% of physical memory size). 每個數據塊都占用到了大量內存資源Memory is divided into chunks, each filled with a potentially stressful data pattern. 內存被分成了許多塊,每塊都覆蓋了對應大量的數據;Worker threads are spawned, which draw pages from an "empty" queue and a "valid" queue, and copy the data from one block to the other.Some threads memory copy the data. 一些線程負責數據拷貝Some threads invert the data in place. 一些線程負責數據插入Some threads write the data to disk, and read it to the new location. 一些線程負責數據寫入和讀出After the specified time has elapsed, all "valid" pages have their data compared with the original fill pattern. 超過設定的時間,就會與初始數據進行比較This test works by stressing system interfaces. It is good at catching memory signal integrity or setup and hold problems, memory controller and bus interface issues, and disk controller issues. It is moderately good at catching bad memory cells and cache coherency issues. It is not good at catching bad processors, bad physical media on disks, or problems that require periods of inactivity to manifest themselves. It is not a thorough test of OS internals. The test may cause marginal systems to become bricks if disk or memory errors cause hard drive corruption, or if the physical components overheat.
該軟件在測試系統接口方面比較好,可以評估一些內存信號完整性或內存芯片,接口總線及磁盤方面的情況;但是對已經損壞的處理器,物理存儲設備不具有檢查功能,在該條件下測試,可能會導致系統或驅動崩潰,以及芯片過熱。
Someone running stressapptest on a live system could cause other applications to become extremely slow or unresponsive. 測試中會導致系統反應變慢
stressapptest can output a logfile of miscompares detected during its execution. stressapptest cannot yet log reboot failures, or other failures not visible to user space.
整個執行過程可以輸出日志記錄文件。下面介紹下其簡單的使用過程,由于本人使用的平臺不是很支持該軟件,所以具體的其它功能和詳細說明不好書寫和記錄。
1、下載該文件包:stressapptest_1.0.4.orig.tar.gz
2、tar -xvf stressapptest_1.0.4.orig.tar.gz
3、進入該文件夾然后:
新聞熱點
疑難解答