CXLChk: A System Configuration Validation and Optimization Checker for Compute Express Link (CXL) Environments
This project provides a command-line tool to analyze Linux server configurations that have Compute Express Link (CXL) devices. It checks for configuration issues, hardware failures, and provides optimization recommendations. The tool consists of two main components: a Data Collector and an Analyzer. The Data Collector collects data from a server. The Analyzer processes the collected data using rules. The tool can process data both online (directly from a live server) and offline (from collected data).
cxlchk has the following requirements:
- Python 3.8 or higher
- A Linux server with Compute Express Link (CXL) devices
- Linux Mainline Kernel 5.19 or higher is recommended
- Linux Distributions such as Ubuntu 22.04.01, Fedora 36, or later are recommended
Clone the repository:
git clone https://github.com/sscargal/cxlchk
Navigate to the project directory:
cd cxlchk
Install the required dependencies:
pip install -r requirements.txt
Data Collection Mode:
This command will execute the collector on a live server and save the data for offline analysis.
cxlchk -C
Data Analysis Mode:
Use this command to execute the analyzer on a previously collected dataset.
cxlchk -A [path/to/dataset.tar.gz]
List Rule Groups:
Lists all available rule groups.
cxlchk -l
Including Specific Rule Groups:
Analyze the dataset using only specific rule groups (e.g.: group1 and group2).
cxlchk -A [path/to/dataset.tar.gz] -i group1 group2
Excluding Specific Rule Groups:
Analyze the dataset excluding specific rule groups (e.g.: group1 and group2).
cxlchk -A [path/to/dataset.tar.gz] -e group1 group2
Verbose Output:
Run the collector with verbose output. Use -vv or -vvv for more detailed output.
cxlchk -C -v
Collect data with verbose output:
cxlchk -C -vv
Analyze a specific dataset, including only rules from network and security groups:
cxlchk -A /path/to/data.tar.gz -i network security
Analyze a dataset excluding the hardware rule group:
cxlchk -A /path/to/data.tar.gz -e hardware
List all available rule groups:
cxlchk -l
Contributions to this project are welcome. Please make sure your code follows the project's coding standards and includes the appropriate tests described in CONTRIBUTING.md.