psutil v5.8.1 Release Notes
-
XXXX-XX-XX
โจ Enhancements
- ๐ง 1851_: [Linux] cpu_freq() is slow on systems with many CPUs. Read current frequency values for all CPUs from /proc/cpuinfo instead of opening many files in /sys fs. (patch by marxin)
- 1992_: NoSuchProcess message now specifies if the PID has been reused.
- ๐ 1992_: error classes (NoSuchProcess, AccessDenied, etc.) now have a better
formatted and separated
__repr__
and__str__
implementations. - ๐ 1996_: add support for MidnightBSD. (patch by Saeed Rasooli)
- ๐ง 1999_: [Linux] disk_partitions(): convert "/dev/root" device (an alias used on some Linux distros) to real root device path.
- 2005_: PSUTIL_DEBUG mode now prints file name and line number of the debug messages coming from C extension modules.
๐ Bug fixes
- ๐ 1456_: [macOS] psutil.cpu_freq()'s min and max are set to 0 if can't be determined (instead of crashing).
- ๐ 1512_: [macOS] sometimes Process.connections() will crash with EOPNOTSUPP for one connection; this is now ignored.
- ๐ 1598_: [Windows] psutil.disk_partitions() only returns mountpoints on drives where it first finds one
- 1874_: [Solaris] swap output error due to incorrect range.
- ๐ 1892_: [macOS] psutil.cpu_freq() broken on Apple M1.
- ๐ 1901_: [macOS] different functions, especially process' open_files() and
connections() methods, could randomly raise AccessDenied because the internal
buffer of
proc_pidinfo(PROC_PIDLISTFDS)
syscall was not big enough. We now dynamically increase the buffer size until it's big enough instead of giving up and raising AccessDenied, which was a fallback to avoid crashing. - ๐ 1904_: [Windows] OpenProcess fails with ERROR_SUCCESS due to GetLastError() called after sprintf(). (patch by alxchk)
- ๐ง 1913_: [Linux] wait_procs seemingly ignoring timeout, TimeoutExpired thrown
- ๐ง 1919_: [Linux] sensors_battery() can raise TypeError on PureOS.
- ๐ 1921_: [Windows] psutil.swap_memory() shows committed memory instead of swap
- ๐ง 1940_: [Linux] psutil does not handle ENAMETOOLONG when accessing process file descriptors in procfs. (patch by Nikita Radchenko)
- 1948_: Process' memoize_when_activated decorator was not thread-safe. (patch by Xuehai Pan)
- ๐ 1953_: [Windows] disk_partitions() crashes due to insufficient buffer len. (patch by MaWe2019)
- ๐ 1965_: [Windows] fix "Fatal Python error: deallocating None" when calling psutil.users() multiple times.
- ๐ 1980_: [Windows] 32bit / WOW64 processes fails to read process name longer than 128 characters resulting in AccessDenied. This is now fixed. (patch by PetrPospisil)
- 1991_: process_iter() can raise TypeError if invoked from multiple threads (not thread-safe).