国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[轉載]stressapptest使用介紹

2019-11-08 20:42:34
字體:
來源:轉載
供稿:網友

本文是轉載,轉自: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發現。

Background

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.    這個測試會最大化總線和內存的交換量,從而交換失敗的概率也會增加。

Overview

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個線程,磁盤也是;

Downloading it

stressapptest can be download at http://code.google.com/p/stressapptest/downloads

Detailed Design

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.  超過設定的時間,就會與初始數據進行比較

Caveats 警告

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.

該軟件在測試系統接口方面比較好,可以評估一些內存信號完整性或內存芯片,接口總線及磁盤方面的情況;但是對已經損壞的處理器,物理存儲設備不具有檢查功能,在該條件下測試,可能會導致系統或驅動崩潰,以及芯片過熱。

Security Considerations

Someone running stressapptest on a live system could cause other applications to become extremely slow or unresponsive.  測試中會導致系統反應變慢

Logged information

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、進入該文件夾然后:

./configuremakesudo make install配置過程中可能會報錯,缺少某些庫,例如: libaio.a, librt.a (libaio.a: libaio-dev librt.a: libc6-dev);只需在網上查找下對應的庫文件,然后連網更新下載便可,然后再編譯,一般都可以通過;

也有可能cpu支持不同,如出現下述情況:

[python] view plain copyroot@LOonux:~/test/stressapptest-1.0.4# make  Making all in src  make[1]: 正在進入目錄 `/root/test/stressapptest-1.0.4/src'  make  all-am  make[2]: 正在進入目錄 `/root/test/stressapptest-1.0.4/src'  g++ -DHAVE_CONFIG_H -I.     -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -Wno-psabi -O3 -funroll-all-loops  -funroll-loops -DNDEBUG -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cc  In file included from finelock_queue.h:29,                      from sat.h:28,                                       from main.cc:18:                                       os.h:131:4: warning: #warning "Unsupported CPU type: Unable to force cache flushes."                                       os.h:161:4: warning: #warning "Unsupported CPU type: your build may not function correctly"                                       mv -f .deps/main.Tpo .deps/main.Po                                       g++ -DHAVE_CONFIG_H -I.     -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -Wno-psabi -O3 -funroll-all-loops  -funroll-loops -DNDEBUG -MT os.o -MD -MP -MF .deps/os.Tpo -c -o os.o os.cc                                       In file included from os.cc:21:                                       os.h:131:4: warning: #warning "Unsupported CPU type: Unable to force cache flushes."                                       os.h:161:4: warning: #warning "Unsupported CPU type: your build may not function correctly"                                       os.cc:165:2: warning: #warning "Unsupported CPU type: unable to determine feature set."                                       mv -f .deps/os.Tpo .deps/os.Po  目前支持的類型應該有下述三種,否則編譯出錯:

[python] view plain copycase x"$target_cpu" in    "xx86_64")    $as_echo "#define STRESSAPPTEST_CPU_X86_64 /**/" >>confdefs.h        ;;    "xi686")    $as_echo "#define STRESSAPPTEST_CPU_I686 /**/" >>confdefs.h        ;;    "xpowerpc")    $as_echo "#define STRESSAPPTEST_CPU_PPC /**/" >>confdefs.h        ;;    "xarmv7a")  安裝完成后,運行該軟件,可得記錄日志如下:

例如 測試1200M大小的內存,測試300000秒的時間

[python] view plain copyLog: Commandline - ./stressapptest -M 1200 -s 300000  Stats: SAT revision 1.0.1_autoconf, 32 bit binary  Log: root @ RAYS-0bedc0f6 on Sun Mar 14 18:59:09 UTC 2010 from open source release  Log: 1 nodes, 4 cpus.  Log: Defaulting to 4 copy threads  Log: Flooring memory allocation to multiple of 4: 1200MB  Log: Using memaligned allocation at 0x2b4d9000.  Stats: Starting SAT, 1200M, 300000 seconds  Log: Region mask: 0x1  Log: Seconds remaining: 299990  Log: Seconds remaining: 299980  Log: Seconds remaining: 299970  Log: Seconds remaining: 299960  Log: Seconds remaining: 299950  Log: Seconds remaining: 299940  Log: Seconds remaining: 299930  Log: Seconds remaining: 299920  Log: Seconds remaining: 299910  Log: Seconds remaining: 299900  Log: Seconds remaining: 299890  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 溧水县| 锡林浩特市| 永昌县| 基隆市| 晋江市| 岳阳市| 新巴尔虎左旗| 乌兰浩特市| 福州市| 潞西市| 封丘县| 酒泉市| 陵川县| 洛宁县| 怀远县| 绥滨县| 黑水县| 公安县| 东丰县| 高平市| 大竹县| 资中县| 江津市| 德清县| 凤凰县| 会昌县| 大兴区| 民勤县| 桦南县| 福安市| 唐海县| 弋阳县| 淮滨县| 诏安县| 邯郸市| 武夷山市| 沙田区| 云浮市| 保亭| 政和县| 潮州市|