Code Monkey home page Code Monkey logo

svr-info's Introduction

Intel® System Health Inspector BuildLicense

System Health Inspector aka "svr-info" is a Linux command line tool used to assess the health of Intel® Xeon® processor-based servers.

Quick Start

wget -qO- https://github.com/intel/svr-info/releases/latest/download/svr-info.tgz | tar xvz
cd svr-info
./svr-info

sample-reports

Example

HTML Report

Options

Remote Target

Data can be collected from a single remote target by providing the login credentials of the target on the svr-info command line.

./svr-info -ip 10.100.222.123 -user fred -key ~/.ssh/id_rsa

Multiple Targets

Data can be collected from multiple remote targets by placing login credentials of the targets in a 'targets' file and then referencing that targets file on the svr-info command line. See the included targets.example file for the required file format.

./svr-info -targets <targets file>

Benchmarks

Micro-benchmarks can be executed by svr-info to assess the health of the target system(s). See the help (-h) for the complete list of available benchmarks. To run all benchmarks:

./svr-info -benchmark all

Notes:

  • Benchmarks should not be run on live/production systems. Production workload performance may be impacted.
  • Running all benchmarks, i.e., --benchmark all, will take 4+ minutes to run. The frequency benchmark execution time increases with core count (approx. (# of cores + 10)s). If not all benchmarks are required, use the --help option to see how to choose specific benchmarks, e.g., --benchmark cpu,disk.

System Profiling

Subsystems on live/production system(s) can be profiled by svr-info. See the help (-h) for the complete list of subsystems. To profile all subsystems:

./svr-info -profile all

Workload Analysis

Workloads on live/production system(s) can be analyzed by svr-info. One or more perf flamegraphs will be produced. See the help (-h) for options. To analyze system and Java apps:

./svr-info -analyze all

Report Types

By default svr-info produces HTML, JSON, and Microsoft Excel formatted reports. There is an optional txt report that includes the commands that were executed on the target to collect data and their output. See the help (-h) for report format options. To generate only HTML reports:

./svr-info -format html

Additional Data Collection Tools

Additional data collection tools can be used by svr-info by placing them in a directory named "extras". For example, Intel® Memory Latency Checker can be downloaded from here: MLC. Once downloaded, extract the Linux executable and place in the svr-info/extras directory.

Contributing

We welcome bug reports, questions and feature requests. Please submit via Github Issues.

Building svr-info

Due to the large number of build dependencies required, a Docker container-based build environment is provided. Assuming your system has Docker installed (instructions not provided here), the following steps are required to build svr-info:

  • builder/build_docker_image creates the docker image
  • builder/build runs make dist in the container After a successful build, you will find the build output in the dist folder.

Other builder commands available:

  • builder/test runs the automated tests in the container via make test
  • builder/shell starts the container and provides a bash prompt useful for debugging build problems

Incremental Builds

After a complete build using the build container, you can perform incremental builds directly on your host assuming dependencies are installed there. This can make the code/build/test cycle much quicker than rebuilding everything using the Docker container. You can look at the Dockerfile in the builder directory to get the build dependencies for everything or, more likely, you only need go(lang) so install the latest and get to work.

From the project's root directory, you can use the makefile. There are quite a few targets. Most useful may be make apps. This will build all the go-based apps.

If you are working on a single go-based app. You can run go build in the app's source directory to build it.

Including Additional Collection Tools In The Build

Additional data collection tools can be built into the svr-info distribution by placing binaries in the bin directory before starting the build.

svr-info's People

Contributors

aaamogol avatar dependabot[bot] avatar harp-intel avatar hilldani avatar nadyaten avatar rdower avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

svr-info's Issues

Roughly how long does it take to run the benchmarks?

I ran

./svr-info -benchmark all

expecting the benchmark to take a minute or two to run. However close to 5min later the benchmark was still running. Could you add a comment in the Readme or a progress bar indicating the expected running time for the benchmarks?

Generated Excel spreadsheet is corrupt on AWS m7i.16xlarge with Ubuntu 22.04 LTS

The generated Excel spreadsheet is corrupt on AWS m7i.16xlarge instances with Ubuntu 22.04.

I tried sudo as well, but same result.
The generated webpage renders fine, though.

image image

Excel Logs

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error120440_01.xml</logFileName><summary>Errors were detected in file 'filename.xlsx'</summary><repairedParts><repairedPart>Repaired Part: /xl/worksheets/sheet1.xml part with XML error.  HRESULT 0x8000ffff Line 2, column 0.</repairedPart><repairedPart>Repaired Part: /xl/worksheets/sheet2.xml part with XML error.  HRESULT 0x8000ffff Line 2, column 0.</repairedPart><repairedPart>Repaired Part: /xl/worksheets/sheet3.xml part with XML error.  HRESULT 0x8000ffff Line 2, column 0.</repairedPart><repairedPart>Repaired Part: /xl/worksheets/sheet4.xml part with XML error.  Catastrophic failure Line 2, column 955.</repairedPart><repairedPart>Repaired Part: /xl/worksheets/sheet5.xml part with XML error.  Catastrophic failure Line 2, column 457.</repairedPart><repairedPart>Repaired Part: /xl/worksheets/sheet6.xml part with XML error.  Catastrophic failure Line 2, column 577.</repairedPart></repairedParts></recoveryLog>

arm compiled version?

when attempting to run the svr-info release binary on ARM it says

$ ./svr-info 
-bash: ./svr-info: cannot execute binary file

$ objdump -a svr-info
svr-info:     file format elf64-x86-64

Will svr-info support an official ARM binary build?

In VM no core frequency found.

Hi, this may be user error or an uncovered edge case but I tried running profiling a VM and no core frequency data was found. Is this expected?

image

Incorrect CPU "Maximum Frequency Data"

Attached is incorrect "Maximum Frequency" data from svr-info version 2.7.4

"CPU": [
{
"All-core Maximum Frequency": "3.0GHz",
"Base Frequency": "2.0GHz",
"CPU Model": "Intel(R) Xeon(R) Platinum 8480+",
"CPUs": "224",
"Cores per Socket": "56",
"Hyperthreading": "Enabled",
"Intel Turbo Boost": "Enabled",
"Maximum Frequency": "2.0GHz",
"Microarchitecture": "SPR_XCC",
"NUMA Nodes": "2",
"PPINs": "",
"Prefetchers": "L2 HW, L2 Adj., DCU HW, DCU IP",
"Sockets": "2"
}
]

ortce-H100-2.json
ortce-H100-2.xlsx

Note that the "Maximum Frequency" of 2.0 GHz is less than the All-core Maximum Frequency of 3.0 GHz. Expected value from turbostat is that the Maximum Frequency should be 3.8 GHz:

8 * 100.0 = 800.0 MHz max efficiency frequency
20 * 100.0 = 2000.0 MHz base frequency
cpu144: MSR_IA32_POWER_CTL: 0x1200a40059 (C1E auto-promotion: DISabled)
cpu144: MSR_TURBO_RATIO_LIMIT: 0x1e1e1f1f20222426
cpu144: MSR_TURBO_RATIO_LIMIT1: 0x383632302c28221c
30 * 100.0 = 3000.0 MHz max turbo 56 active cores
30 * 100.0 = 3000.0 MHz max turbo 54 active cores
31 * 100.0 = 3100.0 MHz max turbo 50 active cores
31 * 100.0 = 3100.0 MHz max turbo 48 active cores
32 * 100.0 = 3200.0 MHz max turbo 44 active cores
34 * 100.0 = 3400.0 MHz max turbo 40 active cores
36 * 100.0 = 3600.0 MHz max turbo 34 active cores
38 * 100.0 = 3800.0 MHz max turbo 28 active cores

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.