The Lmbench is a simple, portable, mini-assessment tool that complies with the ANSI/C standard for unix/posix. In general, it measures two key features: Reaction time and bandwidth. Lmbench is designed to give system developers insight into the underlying costs of critical operations.
Software Description: Lmbench is a multi-platform open source benchmark for evaluating the comprehensive performance of the system, which can test the performance of document reading and writing, memory operation, process creation destruction overhead, network and so on, and test method is simple.
Lmbench is a multi-platform software, it is able to compare the same level of the system to test, reflect the advantages and disadvantages of different systems, by choosing different library functions we can compare the performance of the library function; More importantly, as an open source software, Lmbench provides a test framework, If the tester has higher testing requirements for the test project, it can achieve the goal through a small amount of modification of the source code (for example, it is now only possible to evaluate the cost of process creation, termination performance and process transformation, and to implement thread-level performance testing by modifying some of the code).
Download:
Www.bitmover.com/lmbench, Latest version 3.0-a9
Lmbench's main function: * Bandwidth assessment Tool -Read cache file -copy memory -read memory -Write Memory -Pipe -TCP * Reaction Time Assessment Tool -context switch -Network: Connection setup, pipelines, TCP,UDP and RPC hot potato -file system setup and deletion -process creation -Signal Processing - Upper system call -memory read-In response time * other &The main features of the nbsp; -processor clock ratio calculation lmbench:-Portability of the operating system the test evaluation tool is written in C and has good portability (although they are more easily compiled by GCC). This is useful for producing a comparison of each detail between systems. -Adaptive Adjustment lmbench is very useful for stress behavior. This tool allocates resources to fix the problem when it encounters a situation where bloatos is 4 times times slower than all competitors. - database Calculation Results database calculations include results from most major computer workstation manufacturers. -Memory Latency Calculations memory Latency tests show cache latencies for all systems (data), such as tier, level two, and level three caches, as well as Miss latency for memory and TLB tables. In addition, the size of the cache can be correctly divided into some result sets and read out. The hardware family resembles the description above. This evaluation tool has found some errors in the operating system paging policy. -Context Conversion Calculation Results Many people seem to like the number of context conversions. This assessment tool does not specifically focus on the number of references to "in-cache". It often changes between the number and size of processes, and divides the results in a way that is visible to the user when the current content is not in the cache. You can also get the actual overhead of a cold cache context switch. Configuration file
[[email protected] /tmp/lmbench3/lmbench3]#ll bin/x86_64-linux-gnu/*`hostname`-rw-r--r-- 1 root root 719 Mar 8 17:18 bin/x86_64-linux-gnu/CONFIG.jiangyi01.sqa.zmf-rwxr-xr-x 1 root root 1232 Mar 7 20:52 bin/x86_64-linux-gnu/INFO.jiangyi01.sqa.zmf
Generate configuration File Script
[[email protected] /tmp/lmbench3/lmbench3]#ll scripts/config-run-r-xr-xr-x 1 14557 501 21018 Mar 8 17:18 scripts/config-run
Generate configuration File Script
The make Results command actually calls the Scripts/config-run
[[email protected] /tmp/lmbench3/lmbench3]#make results
Parameter description I have a description of each test result parameter here is not complete, more comprehensive see ref link (1) Basic system parameters (basic parameters)
Number of pages in Tlb pages:tlb (translation lookaside Buffer)
Cache Line Bytes: (Number of bytes in cache)
Mem par
Memory Hierarchy Parallelism
Scal load: Number of lmbench in parallel
(2) Processor, Processes (processor, process operation time)
Null Call: Simple system invocation (Fetch process number)
Null I/o: Simple io operation (average of empty read and write)
Stat: Action to take document status
Open Clos: Turn off and close document actions immediately
SLCT TCP
Select: Configure
Sig Inst: Configuring the Signal
Sig Hndl: Capture processing signal
Fork Proc:fork process after direct exit
Exec Proc:fork after executing execve call and then exiting
Sh proc:fork after executing shell and then exiting
(3) Basic integer/float/double operations
Slightly
(4) Contextual switching context switch time
2p/16k: Represents 2 parallel processing of 16K size data
(5)
LocalCommunication latencies (local communication delay, by different means of communication after sending themselves immediately read)
Pipe: Pipeline Communication
AF UNIX
UNIX protocol
Udp
Udp
Rpc/udp
Tcp
Rpc/tcp
TCP Conn
TCP establishes connect and closes the description word
(6) File & VM system latencies (document, memory delay)
File Create & Delete: Create and delete documents
MMap Latency: Memory map
Prot Fault
Protect fault
Page Fault: Missing pages
100FD SELCT: Time to configure select for 100 document descriptors
(7)
LocalCommunication bandwidths (local communication bandwidth)
Pipe: Pipeline operation
AF UNIX
UNIX protocol
Tcp
TCP Communication
File reread: Document repeat Read
MMap Reread: Memory-mapped repeat read
Bcopy (LIBC): Memory copy
Bcopy (hand): Memory copy
Mem read: Memory reading
Mem write: Memory writes
(8) Memory latencies (Operation Delay)
L1: Cache 1
L2: Cache 2
Main Mem: Continuous memory
Rand Mem: Memory random access delay
Guesses
If L1 and L2 approximate, "No L1 cache?" is displayed.
If L2 and main mem approximate, the "No L2 cache" will be displayed.
Linux Performance test Tool Lmbench