System monitor

Last updated

A system monitor displaying system resources usage Example of a software system monitor.png
A system monitor displaying system resources usage

A system monitor is a hardware or software component used to monitor system resources and performance in a computer system. [1]

Contents

Among the management issues regarding use of system monitoring tools are resource usage and privacy. Monitoring can track both input and output values and events of systems. [2]

Overview

Software monitors occur more commonly, sometimes as a part of a widget engine. These monitoring systems are often used to keep track of system resources, such as CPU usage and frequency, or the amount of free RAM. They are also used to display items such as free space on one or more hard drives, the temperature of the CPU and other important components, [3] and networking information including the system IP address and current rates of upload and download. Other possible displays may include the date and time, system uptime, computer name, username, hard drive S.M.A.R.T. data, fan speeds, and the voltages being provided by the power supply.

Less common are hardware-based systems monitoring similar information. Customarily these occupy one or more drive bays on the front of the computer case, and either interface directly with the system hardware or connect to a software data-collection system via USB. With either approach to gathering data, the monitoring system displays information on a small LCD panel or on series of small analog or LED numeric displays. Some hardware-based system monitors also allow direct control of fan speeds, allowing the user to quickly customize the cooling in the system.

The primary function of a few very high-end models of hardware system monitor is to interface with only a specific model of motherboard. These systems directly utilize the sensors built into the system, providing more detailed and accurate information than less-expensive monitoring systems customarily provide.

Software monitoring

Software monitoring tools operate [4] within the device they're monitoring. [5]

Hardware monitoring

Unlike software monitoring tools, hardware measurement tools can either located within the device being measure, or they can be attached and operate from an external location. [6] :p.84

A hardware monitor is a common component of modern motherboards, which can either come as a separate chip, often interfaced through I2C or SMBus, or as part of a Super I/O solution, often interfaced through Low Pin Count (LPC). [7] These devices make it possible to monitor temperature in the chassis, voltage supplied to the motherboard by the power supply unit and the speed of the computer fans that are connected directly to one of the fan headers on the motherboard. Many of these hardware monitors also have fan controlling capabilities. [7] System monitoring software like SpeedFan on Windows, lm_sensors on Linux, envstat on NetBSD, and sysctl hw.sensors on OpenBSD and DragonFly can interface with these chips to relay this environmental sensor information to the user.

Privacy

When an individual user is measuring the performance of a single-user system, whether it is a standalone box or a virtual machine on a multi-user system, access does not impede the privacy of others. [6] :p.114 Privacy becomes an issue when someone other than the end-user, such as a system manager, [6] :p.115 has legitimate need to access data about other users.

Resource usage

When events occur faster than a monitor can record them, a workaround is needed, such as replacing event recording with simple counting. [6] :p.89

Another consideration is not having major impact on the CPU and storage available for useful work. While a hardware monitor will usually have less impact than a software monitor, there are data items, such as "some descriptive information, such as program names" [6] :p.91 that must involve software.

A further consideration is that a bug in this domain can have severe impact: an extreme case would "cause the OS to crash". [8]

List of software monitors

Single system:

Distributed:

See also

Related Research Articles

<span class="mw-page-title-main">BIOS</span> Firmware for hardware initialization and OS runtime services

In computing, BIOS is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the booting process. The firmware comes pre-installed on the computer's motherboard.

<span class="mw-page-title-main">Motherboard</span> Main printed circuit board used for a computing device

A motherboard is the main printed circuit board (PCB) in general-purpose computers and other expandable systems. It holds and allows communication between many of the crucial electronic components of a system, such as the central processing unit (CPU) and memory, and provides connectors for other peripherals. Unlike a backplane, a motherboard usually contains significant sub-systems, such as the central processor, the chipset's input/output and memory controllers, interface connectors, and other components integrated for general use.

<span class="mw-page-title-main">I²C</span> Serial communication bus

I2C (Inter-Integrated Circuit; pronounced as “eye-squared-see” or “eye-two-see”), alternatively known as I2C or IIC, is a synchronous, multi-controller/multi-target (historically termed as multi-master/multi-slave), single-ended, serial communication bus invented in 1982 by Philips Semiconductors. It is widely used for attaching lower-speed peripheral integrated circuits (ICs) to processors and microcontrollers in short-distance, intra-board communication.

<span class="mw-page-title-main">Open Firmware</span> Standard for computer bootstrap code

Open Firmware is a standard defining the interfaces of a computer firmware system, formerly endorsed by the Institute of Electrical and Electronics Engineers (IEEE). It originated at Sun Microsystems where it was known as OpenBoot, and has been used by multiple vendors including Sun, Apple, IBM and ARM.

<span class="mw-page-title-main">Quiet PC</span> Type of personal computer

A quiet, silent or fanless PC is a personal computer that makes very little or no noise. Common uses for quiet PCs include video editing, sound mixing and home theater PCs, but noise reduction techniques can also be used to greatly reduce the noise from servers. There is currently no standard definition for a "quiet PC", and the term is generally not used in a business context, but by individuals and the businesses catering to them.

Hardware abstractions are sets of routines in software that provide programs with access to hardware resources through programming interfaces. The programming interface allows all devices in a particular class C of hardware devices to be accessed through identical interfaces even though C may contain different subclasses of devices that each provide a different hardware interface.

A disk array controller is a device that manages the physical disk drives and presents them to the computer as logical units. It almost always implements hardware RAID, thus it is sometimes referred to as RAID controller. It also often provides additional disk cache.

<span class="mw-page-title-main">Computer fan control</span> Management of the rotational speed of a computer fan

Fan control is the management of the rotational speed of an electric fan. In computers, various types of computer fans are used to provide adequate cooling, and different fan control mechanisms balance their cooling capacities and noise they generate. This is commonly accomplished by the motherboards having hardware monitoring circuitry, which can be configured by the end-user through BIOS or other software to perform fan control.

In computing, serial presence detect (SPD) is a standardized way to automatically access information about a memory module. Earlier 72-pin SIMMs included five pins that provided five bits of parallel presence detect (PPD) data, but the 168-pin DIMM standard changed to a serial presence detect to encode more information.

sysctl Unix-like software that manages kernel attributes

sysctl is a software mechanism in some Unix-like operating systems that reads and modifies the attributes of the system kernel such as its version number, maximum limits, and security settings. It is available both as a system call for compiled programs, and an administrator command for interactive use and scripting. Linux additionally exposes sysctl as a virtual file system.

In computing, ioctl is a system call for device-specific input/output operations and other operations which cannot be expressed by regular file semantics. It takes a parameter specifying a request code; the effect of a call depends completely on the request code. Request codes are often device-specific. For instance, a CD-ROM device driver which can instruct a physical device to eject a disc would provide an ioctl request code to do so. Device-independent request codes are sometimes used to give userspace access to kernel functions which are only used by core system software or still under development.

<span class="mw-page-title-main">Super I/O</span> Class of I/O controller integrated circuits

Super I/O is a class of I/O controller integrated circuits that began to be used on personal computer motherboards in the late 1980s, originally as add-in cards, later embedded on the motherboards. A super I/O chip combines interfaces for a variety of low-bandwidth devices. Now it is mostly merged with EC.

<span class="mw-page-title-main">SpeedFan</span> System monitoring tool

SpeedFan is a system monitor for Microsoft Windows that can read temperatures, voltages and fan speeds of computer components. It can change computer fan speeds depending on the temperature of various components. The program can display system variables as charts and as an indicator in the system tray. Fully configurable user events can be defined to execute specific actions based on system status

<span class="mw-page-title-main">Conky (software)</span> System monitor for the X Window System

Conky is a free software desktop system monitor for the X Window System. It is available for Linux, FreeBSD, and OpenBSD. Conky is highly configurable and is able to monitor many system variables including the status of the CPU, memory, swap space, disk storage, temperatures, processes, network interfaces, battery power, system messages, e-mail inboxes, Arch Linux updates, many popular music players, weather updates, breaking news, and much more. Unlike system monitors that use high-level widget toolkits to render their information, Conky is drawn directly in an X window. This allows it to be configured such that it consumes relatively few system resources.

lm_sensors Software tool

lm_sensors is a free open-source software-tool for Linux that provides tools and drivers for monitoring temperatures, voltage, humidity, and fans. It can also detect chassis intrusions.

Binary-code compatibility is a property of a computer system, meaning that it can run the same executable code, typically machine code for a general-purpose computer central processing unit (CPU), that another computer system can run. Source-code compatibility, on the other hand, means that recompilation or interpretation is necessary before the program can be run on the compatible system.

The hw.sensors framework is a kernel-level hardware sensors framework originating from OpenBSD, which uses the sysctl kernel interface as the transport layer between the kernel and the userland. As of 2019, the framework is used by over a hundred device drivers in OpenBSD to export various environmental sensors, with temperature sensors being the most common type. Consumption and monitoring of sensors is done in the userland with the help of sysctl, systat, sensorsd, OpenBSD NTP Daemon, Simple Network Management Protocol (snmpd), ports/sysutils/symon and GKrellM.

The envsys framework is a kernel-level hardware monitoring sensors framework in NetBSD. As of 4 March 2019, the framework is used by close to 85 device drivers to export various environmental monitoring sensors, as evidenced by references of the sysmon_envsys_register symbol within the sys path of NetBSD; with temperature sensors, ENVSYS_STEMP, being the most likely type to be exported by any given driver. Sensors are registered with the kernel through sysmon_envsys(9) API. Consumption and monitoring of sensors from the userland is performed with the help of envstat utility through proplib(3) through ioctl(2) against the /dev/sysmon pseudo-device file, the powerd power management daemon that responds to kernel events by running scripts from /etc/powerd/scripts/, as well as third-party tools like symon and GKrellM from pkgsrc.

The bio(4) pseudo-device driver and the bioctl(8) utility implement a generic RAID volume management interface in OpenBSD and NetBSD. The idea behind this software is similar to ifconfig, where a single utility from the operating system can be used to control any RAID controller using a generic interface, instead of having to rely on many proprietary and custom RAID management utilities specific for each given hardware RAID manufacturer. Features include monitoring of the health status of the arrays, controlling identification through blinking the LEDs and managing of sound alarms, and specifying hot spare disks. Additionally, the softraid configuration in OpenBSD is delegated to bioctl as well; whereas the initial creation of volumes and configuration of hardware RAID is left to card BIOS as non-essential after the operating system has already been booted. Interfacing between the kernel and userland is performed through the ioctl system call through the /dev/bio pseudo-device.

References

  1. G. Wiesen; Heather Bailey (1 December 2010). "What Is a System Monitor?". wiseGEEK. Archived from the original on 7 December 2010. Retrieved 23 November 2018. A system monitor is a program or piece of hardware that monitors various aspects of a computer system and then displays information regarding the status of that system. This sort of monitor typically takes the form of a software program provided with an operating system (OS) or used as a standalone program. Hardware system monitors are also available, though these are fairly specialized devices and not as frequently used as software monitors. A system monitor will typically track various aspects of a computer system, including what programs are running, how resources are being used, and certain details regarding the hardware installed on a computer.
  2. "Consistently-Detecting Monitors" (PDF). University of Malta.
  3. Halil Kaskavalci (22 October 2015). "Installing system monitor conky on Ubuntu". Archived from the original on 22 October 2015. Retrieved 23 November 2018. What is a System Monitor? System monitors show various system indicators like HDD, Network, and CPU usage. If you want to learn more about your computer, it's a must have tool.
  4. "The Best System Monitor for Linux". LinuxSecurity.
  5. J. D. Biersdorfer (22 August 2015). "Unseen Burdens in Chrome That Can Lead a Mac to Lag". The New York Times . Retrieved 28 June 2019. opened the OS X system monitor to see what was going on
  6. 1 2 3 4 5 Liba Svobodova; Edward J. McCluskey (1976). Computer Performance Measurement and Evaluation Methods . Elsevier. ISBN   0-444-00197-2.
  7. 1 2 3 4 5 6 Constantine A. Murenin (17 April 2007). Generalised Interfacing with Microprocessor System Hardware Monitors. Proceedings of 2007 IEEE International Conference on Networking, Sensing and Control, 15–17 April 2007. London, United Kingdom: IEEE. doi:10.1109/ICNSC.2007.372901. ISBN   978-1-4244-1076-7. IEEE ICNSC 2007, pp. 901—906.
  8. "Overtime will never be this much fun again". Computerworld . 24 November 2016.
  9. 1 2 Constantine A. Murenin (21 May 2010). OpenBSD Hardware Sensors — Environmental Monitoring and Fan Control (MMath thesis). University of Waterloo: UWSpace. hdl:10012/5234. Document ID: ab71498b6b1a60ff817b29d56997a418.
  10. Nadel, Brian. "Inspector Gadgets: Windows 7 Gadgets for Monitoring Your PC". PCWorld. Retrieved 31 January 2014.
  11. Zhang, Gary. "HWmonitor–CPU Temperature Monitor for Windows 10". Garyzzc. Retrieved 16 December 2018.
  12. "symon-2.88p3 – active host monitoring tool". OpenBSD ports . 12 December 2018. Retrieved 7 March 2019.