System Resources Control is a console-based application written in C#. It provides detailed information and monitoring capabilities for system resources, including CPU, GPU, RAM, storage devices, and temperatures, along with a CPU benchmarking tool.
- Detailed Processor Info: Displays detailed information about the CPU, including the name, manufacturer, number of cores, clock speed, cache size, and more.
- Monitor CPU Core Usage: Real-time monitoring of individual CPU core usage.
- CPU Benchmark: Simulates a heavy workload on all CPU cores to calculate a performance score.
- Fetches details about the installed GPU, including name, adapter RAM, driver version, and video processor.
- Overall RAM Details: Displays the total installed RAM in the system.
- Per-Module Details: Lists detailed information for each RAM module, including capacity, manufacturer, speed, and part number.
- Retrieves details about installed storage devices, including capacity, model, and available space.
- System-Wide Temperatures: Displays the temperature readings for various components, including CPU and GPU, if available.
- Summary Output: Provides a concise overview of the system, including CPU, GPU, RAM, storage, and temperature data.
- Clone the repository:
git clone https://github.com/illusiOxd/CSharpSystemResourcesControl.git
- Open the project in Visual Studio or your preferred IDE.
- Build the project to restore dependencies and compile the application.
- Run the application.
- Launch the application.
- Use the menu to navigate through the options:
1
: CPU Information2
: GPU Information3
: RAM Information4
: Disk Information5
: Temperature Information6
: System Overview7
: Exit the program
- Select
1
for detailed CPU information. - Select
2
to monitor CPU core usage in real-time. Pressq
to stop monitoring. - Select
3
to run the CPU benchmark. The results will display the total score and completion time. - Select
4
to return to the main menu.
- Displays detailed information about the installed GPU.
- Shows total installed RAM in the system.
- Lists detailed information for each memory module, with numbered entries for easier identification.
- Displays details about storage devices, including model, total capacity, and free space available.
- Displays temperature readings for various system components. If access is denied, ensure the application is running with administrator privileges.
- Provides a summary of all key system details in a concise format.
- .NET Framework or .NET Core (compatible version for C# projects)
- Windows OS (uses WMI for hardware queries)
- Administrator privileges for temperature monitoring
The benchmark uses all available CPU cores to perform a heavy mathematical workload. Each core's performance is measured and combined into a total score. The workload involves:
- Calculating square roots and trigonometric functions
- Running multiple iterations to stress the CPU
- Base score is inversely proportional to the thread's workload.
- Time bonus is added for faster completion.
- Final score = Base score + Time bonus.
------- System Resources Control -------
Select an option:
1. CPU information
2. GPU information
3. RAM information
4. Disk information
5. Temperature information
6. System overview
7. Exit
--- RAM Information ---
Total Installed RAM: 16 GB
Module 1:
Capacity: 8 GB
Manufacturer: Corsair
Speed: 3200 MHz
Part Number: CMK16GX4M2B3200C16
Module 2:
Capacity: 8 GB
Manufacturer: Corsair
Speed: 3200 MHz
Part Number: CMK16GX4M2B3200C16
--- Temperature Information ---
Device: CPU0 - Temperature: 45.2 °C
Device: GPU0 - Temperature: 50.5 °C
--- System Overview ---
CPU: Intel Core i7-9700K @ 3.60 GHz
GPU: NVIDIA GeForce GTX 1080
Total RAM: 16 GB
Disk: Samsung SSD 970 EVO Plus 1TB - 850 GB free of 1TB
Temperatures:
CPU: 45.2 °C
GPU: 50.5 °C
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Submit a pull request with a detailed explanation of your changes.
- Microsoft Documentation for information on WMI and system management.
- OpenHardwareMonitor for inspiration on monitoring hardware sensors.
- Inspiration from performance monitoring and benchmarking tools.
Feel free to reach out if you have any questions or suggestions for improvement!