EFFICIEN
T SYSTEM FOR CPU METRIC
VISUALIZATION
Kuldeep Vayadande
Professor, Department of Artificial Intelligence & Data Science, Vishwakarma Institute of Technology,
Pune, (India).
Ankur Raut
Student, Department of Artificial Intelligence & Data Science, Vishwakarma Institute of Technology,
Pune, (India).
Roshita Bhonsle
Student, Department of Artificial Intelligence & Data Science, Vishwakarma Institute of Technology,
Pune, (India).
Vithika Pungliya
Student, Department of Artificial Intelligence & Data Science, Vishwakarma Institute of Technology,
Pune, (India).
Atharva Purohit
Student, Department of Artificial Intelligence & Data Science, Vishwakarma Institute of Technology,
Pune, (India).
Samruddhi Pate
Student, Department of Artificial Intelligence & Data Science, Vishwakarma Institute of Technology,
Pune, (India).
Reception: 27/11/2022 Acceptance: 12/12/2022 Publication: 29/12/2022
Suggested citation:
Vayadande, K., Raut, A., Bhonsle, R., Pungliya, V., Purohit, A., y Pate, S. (2022). Efficient system for CPU
metric visualization. 3C TIC. Cuadernos de desarrollo aplicados a las TIC, 11(2), 239-250. https://doi.org/
10.17993/3ctic.2022.112.239-250
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
239
ABSTRACT
There are multiple metrics associated with the smooth and efficient working of a computer system.
Some of the crucial parts are like the CPU, memory usage and GPUs. For different Operating
Systems, they have their own System Software for managing and analysing their sessions. Like Task
Manager in Windows, Nmon in Linux and Activity Monitor in Mac. In addition to it, there are few
applications software’s which perform similar tasks with slight modifications. In this paper, a web
application is proposed that will fetch these performance metrics from the user's system and display
them using dynamic charts. The proposed application is a system independent tool and can be useful
for all operating system. The application also can be used to determine whether or not a game is
compatible with the user's system based on the system requirements.
KEYWORDS
CPU Metrics Visualization, Operating Systems, Resource Utilization, System Monitoring,
Performance measures.
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
240
1. INTRODUCTION
Computer Systems have evolved by leaps and bounds in the last few decades stemming from the
introduction of technology trends and improvements. This has paved the way for new architectures and
systems with higher and better performance to evolve. It is always a good idea to keep an eye on how
much of your resources are being used when working on various chores and projects while having a lot
of files, folders, and tabs open on your local system to make sure they don't go over their allotment.
Although higher-end computers or workstations rarely have these problems, it may be argued that most
typical laptop and PC users must confirm the best use of their resources. The advances in new
technology comes with proper analysis and evaluation of the performance metric of the processor.
Understanding the performance measure is essential to comprehend the underlying computer
organization and bring about modifications based on the different dependent factors. So, there are even
various Hardware metrics which are essential and its detailed description helps in getting the insights of
our system. Given are few metrics in accordance with Windows Task Manager. Few of them are:
CPU: CPU's name and model number, speed, number of cores, and accessibility to hardware
virtualization features. Additionally, it displays the amount of "uptime" the time since your
system's last boot which is another useful statistic.
Memory: How much RAM you have, how fast it is, and how many of the motherboard's RAM
slots are occupied. You can also view the amount of cached material that is currently using your
memory. For Windows, this is "standby." Although Windows will instantly clear the cached
data and make room if your system requires more RAM for another job, this data will be
available and waiting if your system needs it.
Disc: Your disc driver's name, model number, size, and current read and write speeds.
Wi-Fi: It displays the name of a network adapter along with its IP addresses (IPv4 and IPv6
addresses).
GPU: The GPU pane displays different graphs for various activities, such as 3D vs. video
encoding or decoding. Due to the GPU's own internal memory, it also displays GPU memory
utilization. Here, you may also see the name, model number, and graphics driver version of
your GPU.
There are various factors that may affect the system’s performance. The instructions used, the memory
hierarchy, handling of the input/output all contribute to the computers performance. The most
important parameter is time and is crucial to evaluate the performance of a computer. There are several
time-based parameters such as the response time which can be defined as the time taken by the
processor to respond after the execution of a particular task, or the throughput which is the total work
done for a given time. One such parameter is CPU utilization which is commonly used to understand
and evaluate the system performance. It describes the CPU usage for a given time interval as a
percentage. It is also an excellent indicator of whether the system has been attacked by a virus or if the
system does not have sufficient CPU power. This can be observed in a case when CPU utilization is
high (indicating a heavy load) despite there being not many programs running in the background. A
computers RAM is extremely important when it comes to handling tasks and applications. The
computer or device is observed to slow down in case there isn’t sufficient RAM available. To get the
maximum use out of a system, a tool for monitoring these performance parameters to generate logs and
allow visualization in the form of graphs is absolutely necessary. Such an application provides other
insights about the amount of memory used by a particular program, the availability of the computers
hardware resources and can also be used to force a frozen program. In this paper, another such
application is proposed that will help the user view the system information of his device and view
certain performance parameters such as CPU Utilization and availability of the RAM. While using
applications such as games, the CPU usage (utilization for a given process) can go up as high as 50 or
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
241
60 % which may result in overheating of the system, decrease frame rates and even cause system
crashes.
Thus, the player must be made aware if the game has system requirements not compatible with his
system. A good RAM specification is needed for a smooth experience while playing games. This
ensures that there are fewer lags and allows for higher frame rates. RAM usage also depends on the
kind of software or game that is being run on the users device. Hence, this paper also proposes an
additional feature that will help determine if the user can run a particular game on his or her device
based on his system requirements.
The paper has the following structure, the ‘Literature Survey’ Section provides a concise overview of
the existing literature and tools available for the analysis of CPU metrics, the next section –
‘Comparison Table’ illustrates the different tables and diagrams used to support the ideas presented in
this paper, ‘Proposed Work’ section discusses the methodology of implementation in detail while the
results and outputs are presented in the ‘Results and Discussions’ section. Finally the paper discusses
some aspects of improvement in the future and provides a conclusion outlining the key points of the
entire paper.
2.1. LITERATURE SURVEY
Stefanov and Gradskov (2016) monitored and analysed some properties of CPU usage data provided
by Linux Kernel. This work analysed CPU usage data provided by the Linux kernel and how CPU
load level is calculated based on these data. For every active CPU in the system, the kernel gives the
amount of time, measured in 1/100th of a second, that the system spent in different modes of
execution since boot. These different modes are ‘user mode’ (running user processes), ‘user mode with
low priority’ (nice), ‘system mode’ (running kernel), ‘idle’, ‘iowait’ (idle while waiting for IO request
to complete), ‘irq’ (processing interrupts), ‘softirq’ (processing software interrupts).
Formula for calculating Load Level (L): If ‘Tim is the time spent in ‘m-th’ mode at time moment ‘i
then, the CPU load level ‘Lm for the mode m is represented below using Equation (1):
(1)
Urriza and Clariño (2021) used Python to web scrape reviews written on ‘Steam’ website and
classifies them into either Audio, Gameplay or Graphics. Further it also categorizes them into Positive,
Negative and Neutral sentiments.
Gomes and Correia (2020) Cryptojacking infects the browsers and does CPU intensive computation to
mine cryptocurrencies on behalf of cyber criminals. The paper introduces a new Cryptojacking
detection mechanism based on monitoring CPU usage of visited web pages. They use machine
learning along with monitoring and monitoring the precision and recall values to make a decision. In
this Study they used CPU utilization for decking if certain games can be run or not on the computer,
similarly here we are utilizing the CPU for detecting cryptojacking. It uses ‘mpstat’, a command line
tool to monitor the CPU. It gives us several metrics such as CPU Utilization at every level, CPU
Utilization at user level, CPU Utilization at system level, time that the CPU or CPUs were idle during
which the system had an outstanding disk I/O request, time spent by the CPU or CPUs servicing
hardware interrupts, time spent by the CPU or CPUs servicing software interrupts, time spent in
involuntary wait by the virtual CPU or CPUs while the hypervisor was servicing another virtual
processor, time spent by the CPU or CPUs running a virtual processor; time that the CPU or CPUs
were idle and the system did not have an outstanding disk I/O request.
“Windows Task Manager” can optimize performance by terminating programmes and processes,
changing processing priorities, and setting processor affinity as necessary. Task Manager shows
L
m=
Ti
m
- T i-1
m
m
(Ti
m
- Ti-1
m
)
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
242
fundamental performance information and visual representations of CPU, swap file, and memory
utilization as a monitoring tool. Disk and network information are also included in later versions of
Task Manager.
“Glances - an eye on your system” Glance-Glances is a system monitoring tool for Linux computers, it
is used to monitor system resources. Views can show more system information than any other
conventional monitor. This comprises disc and network I/O, temperature information—which can
reveal the temperatures of the CPU and other hardware—as well as fan speeds and disc utilization by
logical volume and hardware device.
“What is system explorer?,System Explorer - Keep Your System Under Control.” System Explorer is
not only a replacement for task manager, but it is more than that. Additionally, to aiding in process
management, it has a number of characteristics that can boost system security and avert disasters.
Even a portable version is available for it. It provides great features like calculating the CPU metrics
history, taking snapshots and more.
“Can you Run it?” System Requirements Lab is an online platform which provides information about
different games and the minimum hardware and software requirements to run them in any local
system. The platform also helps you to determine whether the games can run on your current system
by comparing the minimum requirements and the local systems information.
2.2. COMPARISON TABLE
Various System Software’s and Application Software’s with the task of evaluating metrics of a system
are discussed in Table 1 below:
Table 1. Comparison of various system monitoring tools.
Sr
No
System
Monitoring Tool
Operating
System Type Performance
Metrics Monitored
1Task Manager Windows System Software CPU, Memory,
Disk, Network
2Glances Linux Application
Software
CPU, Memory
3Process Explorer Windows Application
Software
Real Time – CPU,
GPU, Memory,
Disk, Network
4System Explorer Windows Application
Software
CPU, Memory
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
243
Fig. 1. Task Manager Interface.
Fig. 2. Activity Monitor Interface.
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
244
Fig. 3. Nmon Interface.
3. PROPOSED WORK
The need for maintaining and tracking different CPU Metrics is mentioned in this paper. Along with it,
various tools which are used to monitor these metrics are described. Similarly, a web-based system for
fetching system information and displaying it, has been developed which will be able to provide
graphical insights to the performance parameters such as CPU usage, Memory, and GPU. It will be an
effective light-weight data visualization tool, so that the history of the parameters can also be recorded.
The website fetches useful system information from the local system with the help of a ‘.exe’ file which
the user needs to download and run on the local system. The website displays different static system
metrics and visualizes the dynamic information in the form of graphs. There is an additional feature
added to the system where the user can check whether a particular application can work on their system
or not by comparing the minimum requirements with the local systems information.
Figure 4. below illustrates the process flow diagram of the proposed system and describes the end to
end working of the system.
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
245
Fig. 4. Flowchart illustrating proposed work.
3.1. METRIC
There are various parameters to monitor the system performance and system resources in a computer
system. Some of the most important metrics that affect the system performance are CPU utilization,
Used RAM, GPU specifications, System information, etc. The website focuses on fetching the useful
system information, displaying it and visualizing dynamic information that updates after every second.
The metrics are fetched from the system using the ‘psutil’, ‘wmi’ and ‘platform’ Python libraries. The
‘platform’ Python library is used to fetch the operating system, node name, operating system release
version and processor details. The ‘psutil’ library is used to retrieve the number of physical and logical
cores, CPU utilization and RAM availability of the system. The ‘wmi’ module fetches the GPU and
video RAM details. In order to get the metric from the local system, a ‘.exe’ file is used which sends it
to the web server.
3.2. VISUALIZATION
The CPU utilization and RAM availability are dynamic metrics that update after every second, so these
metrics are visualized graphically as a line and pie chart. This visualization helps the user to track the
systems performance and know how exactly the metrics perform. The graphs are created using the
‘Chart.js’ library in JavaScript and Ajax to update the graphs in real time.
3.2. SYSTEM REQUIREMENTS SATISFIED OR NOT
‘Steam’ is used to web-scrape minimum requirements to run games entered by the user. We compare the
minimum requirements with the system metrics and warn the user if the requirements are not met by the
users system.
4.RESULTS AND DISCUSSION
Figure 5. shown below is the home page of the website of the proposed idea. It contains a navigation
bar with the options – System information, Graphs and the ‘Can you Run this game?’ feature. The main
section of the website contains the button “Download Link”. A ‘.exe’ file is downloaded on clicking the
button which when executed on the users device/computer will fetch and display the exact system
information of the users computer/laptop.
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
246
Fig. 5. Home page of the website.
Figure 6. displays the information that is fetched from the users computer or laptop device and is
displayed in a new window. The system information contains the following – NodeName, Version,
Machine, Processor, LogicalCore, PhysicalCore, Operating System, Operating System Release and
Version, RAM available and lastly the Total Disk Storage Space.
Fig. 6. System information of the users device.
Table 2. illustrates the actual data fetched from local system in regular intervals. The table contains the
CPU Utilization percentage which will be further visualized as a line chart and the RAM usage and
availability which are very important in any operating system to perform well.
Table 2. CPU Metrics.
Sr
No
Time (in
seconds)
CPU
Utilization RAM Used RAM Available
1 2 31.8 5.96 0.40
2 4 9.4 5.98 0.38
3 6 17.4 5.89 0.51
4 8 12.3 5.84 0.51
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
247
Figure 7 (a). and Fig 7 (b). illustrate the CPU Utilization metric and the available RAM dynamically
using a line chart and a pie chart respectively. The charts are dynamic in nature and the proposed
application fetches real time information about the metrics from the users system and updates the
charts with the new values every second.
Fig. 7. (a) CPU Utilization visualized graphically.
Fig. 7. (b) RAM availability visualized graphically.
Another essential feature of the proposed application allows the user to check if a game is compatible
with his own system. This feature requires the user to enter the name of the game in the search bar and
then displays the required system specification for the same. It also displays the users system
specification and based on the comparison between the two, it displays whether the game will be able to
run on the users system successfully or not.
Figure 8. Shows an example of the game “Watch Dogs” being entered by the user. Based on the
comparison between the users system specifications and the required system specifications for the
game, a message “Yes you can run it!” specifies that the game is compatible with the users system.
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
248
Fig. 8. Example of a game that can be run on the users system.
Figure 9. Shows an example of the game “Red Dead Redemption 2” being entered by the user. Based on the
comparison between the users system specifications and the required system specifications for the game, a
message “No you can’t run it!” specifies that the game is not compatible with the user’s system
Fig. 9. Example of a game that cannot be run on the users system.
5. FUTURE SCOPE
The proposed system provides information about whether the application will run on users’ local system or not, so
a recommendation system can be developed in future which will recommend necessary hardware and software to
the user for better performance by analysing the system information.
6. CONCLUSION
The CPU metrics measurements are essential because they guide one's decision-making around the computer
equipment which one intends to buy. It enables one to cut through the marketing spin that surrounds computer
systems; without a basic understanding of how they operate, one won't be able to handle this and won't be able to
make an informed decision when buying systems. Understanding performance measurements is essential for
comprehending the underlying organizational motivation, or the reasons why people try to make these changes in
order to increase performance for future development.
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
249
REFERENCES
[1] K. S. Stefanov, and A. A. Gradskov "Analysis of CPU Usage Data Properties and their possible
impact on Performance Monitoring." in Supercomputing Frontiers and Innovations 3, no. 4
(2016): 66-73.
[2] I. M. Urriza, and M.A.A Clariño "Aspect-Based Sentiment Analysis of User Created Game
Reviews." in 2021 24th Conference of the Oriental COCOSDA International Committee for the
Co-ordination and Standardization of Speech Databases and Assessment Techniques (O-
COCOSDA), pp. 76-81. IEEE, 2021
[3] F. Gomes, and M. Correia "Cryptojacking detection with CPU usage metrics." in 2020 IEEE 19th
International Symposium on Network Computing and Applications (NCA), pp. 1-10. IEEE,
2020.
[4] “Windows Task Manager” Available at https://www.howtogeek.com/405806/windows-task-
manager-the-complete-guide/
[5] Glances - an eye on your system. Available at: https://nicolargo.github.io/glances/.
“What is system explorer? System Explorer - Keep Your System Under Control.” Available at:
https://systemexplorer.net/.
[6] Can you Run it?” Available at https://www.systemrequirementslab.com/cyri.
[7] Kumar, S. Rajesh, and R. Aravazhi. "A Study on Ajax in Web Applications with Latest Trends."
International Journal on Recent and Innovation Trends in Computing and Communication 1, no.
6 (2013): 563-568.
https://doi.org/10.17993/3ctic.2022.112.239-250
3C TIC. Cuadernos de desarrollo aplicados a las TIC. ISSN: 2254-6529
Ed. 41 Vol. 11 N.º 2 August - December 2022
250