Check compatibilities of Psutil API across various major platforms
Features of PSUTIL available on both the platforms
System
CPU
psutil.cpu_times()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.cpu_times
WIN only = interrupt, dpc
LNX only = nice, iowait, irq, softirq, steal, guest, guest_nice
BOT = user, system, idle
psutil.cpu_percent()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.cpu_percent
BOT = 100% compatible
psutil.cpu_times_percent()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.cpu_times_percent
WIN only = interrupt, dpc
LNX only = nice, iowait, irq, softirq, steal, guest, guest_nice
BOT = user, system, idle
psutil.cpu_count()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.cpu_count
BOT = 100% compatible
psutil.cpu_stats()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.cpu_stats
BOT = 100% compatible
psutil.cpu_freq()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.cpu_freq
BOT = 100% compatible
psutil.getloadavg()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.getloadavg
BOT = 100% compatible
Memory
psutil.virtual_memory()
RSRC = https://psutil.readthedocs.io/en/latest/#psutil.virtual_memory
WIN only = NONE
LNX only = active, inactive, buffers, cached, shared, slab
BOT = main -> total, available, percent
seco -> used, free
Disks
psutil.swap_memory()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.swap_memory
BOT = 100% compatible
psutil.disk_partitions()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.disk_partitions
BOT = 100% compatible
psutil.disk_usage()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.disk_usage
BOT = 100% compatible
psutil.disk_io_counters()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.disk_io_counters
WIN only = NONE
LNX only = busy_time, read_merged_count, write_merged_count
BOT = read_count, write_count, read_bytes, write_bytes, read_time, write_time
Network
psutil.net_io_counters()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.net_io_counters
BOT = 100% compatible
psutil.net_connections()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.net_connections
BOT = 100% compatible
Note = (Linux, FreeBSD, OpenBSD) raddr field for UNIX sockets is always set to "" (empty string). This is a limitation of the OS.
psutil.net_if_addrs()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.net_if_addrs
BOT = 100% compatible
psutil.net_if_stats()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.net_if_stats
BOT = 100% compatible
Sensors
psutil.sensors_temperatures()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.sensors_temperatures
WIN only = NOT COMPATIBLE
LNX only = COMPATIBLE
BOT = NOT COMPATIBLE
psutil.sensors_fans()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.sensors_fans
WIN only = NOT COMPATIBLE
LNX only = COMPATIBLE
BOT = NOT COMPATIBLE
psutil.sensors_battery()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.sensors_battery
BOT = 100% compatible
Other
psutil.boot_time()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.boot_time
BOT = 100% compatible
psutil.users()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.users
BOT = 100% compatible
Processes
Functions
psutil.pids()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.pids
BOT = 100% compatible
psutil.process_iter()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.process_iter
BOT = 100% compatible
Note = Prefer using this over psutil.pids()
psutil.pid_exists()
RSC = https://psutil.readthedocs.io/en/latest/#psutil.pid_exists
BOT = 100% compatible
Process class
psutil.Process
RSC = https://psutil.readthedocs.io/en/latest/#psutil.Process
LNX only = uids, gids, terminal, rlimit, io_counters(read_chars, write_chars), num_fds, cpu_times(iowait), cpu_num, memory_info(shared, text, lib, data, dirty), memory_maps(size, pss, shared_clean, shared_dirty, private_clean, private_dirty, referenced, anonymous, swap), open_files(position, mode, flags)
WIN only = io_counters(other_count, other_bytes), num_handles, memory_info(num_page_faults, peak_wset, wset, peak_paged_pool, paged_pool, peak_nonpaged_pool, nonpaged_pool, pagefile, peak_pagefile, private), memory_full_info(pss)
BOT = pid, parent, username, name, children, cmdline, connections, create_time, nice, io_counters(read_count, write_count, read_bytes, write_bytes), num_ctx_switches, num_threads, threads, cpu_times(user, system, children_user, children_system), cpu_percent, memory_info(rss, vms), memory_full_info(uss), memory_percent, memory_maps(addr, perms, path, rss), open_files(path, fd), suspend(), resume(), terminate(), kill()
psutil.Process.oneshot
RSC = https://psutil.readthedocs.io/en/latest/#psutil.Process.oneshot
BOT = 100% compatible
Constants
psutil.LINUX
RSC = https://psutil.readthedocs.io/en/latest/#psutil.LINUX
BOT = 100% compatible
psutil.WINDOWS
RSC = https://psutil.readthedocs.io/en/latest/#psutil.WINDOWS
BOT = 100% compatible