Parses contents of /proc/<pid>/mountinfo
pidinteger: process PID,selfprocess if undefined- returns Array<ProcessMountinfo>
- throws ProcfsError
Parses contents of /proc/<pid>/io
pidinteger: process PID,selfprocess if undefined- returns ProcessIo
- throws ProcfsError
Parses contents of /proc/<pid>/uid_map
pidinteger: process PID,selfprocess if undefined- returns Array<ProcessIdMapRange>
- throws ProcfsError
Parses contents of /proc/<pid>/gid_map
pidinteger: process PID,selfprocess if undefined- returns Array<ProcessIdMapRange>
- throws ProcfsError
Parses contents of /proc/<pid>/environ
Note: the result can be used to create map, new Map(result).
pidinteger: process PID,selfprocess if undefined- returns Array<Array<string>>: key-value pairs of initial environment process was started with
- throws ProcfsError
Parses contents of /proc/<pid>/oom_score
pidinteger: process PID,selfprocess if undefined- returns integer: current score that the kernel gives to this process for the purpose of selecting a process for the OOM-killer
- throws ProcfsError
Parses contents of /proc/<pid>/timerslack_ns
pidinteger: process PID,selfprocess if undefined- returns integer: process's "current" timer slack value, in nanoseconds
- throws ProcfsError
Parses contents of /proc/<pid>/cmdline
Complete list of command-line arguments for the process, unless the process is a zombie. In the latter case, null.
Depending on hidepid option procfs was mounted with, may not be accessible by anyone but process owner.
pidinteger: process PID,selfprocess if undefined- returns Array<string>
- throws ProcfsError
Parses contents of /proc/<pid>/autogroup
pidinteger: process PID,selfprocess if undefined- returns ProcessAutogroup
- throws ProcfsError
Parses contents of /proc/<pid>/statm
pidinteger: process PID,selfprocess if undefined- returns ProcessStatm: information about process memory usage
- throws ProcfsError
Parses contents of /proc/<pid>/comm
Note: different threads in the same process may have different comm values
pidinteger: process PID,selfprocess if undefined- returns string: the command name associated with the process
- throws ProcfsError
Parses contents of /proc/<pid>/cgroups
pidinteger: process PID,selfprocess if undefined- returns Array<ProcessCgroup>: control groups to which the process belongs
- throws ProcfsError
Parses contents of /proc/<pid>/personality
Process's execution domain, as set by personality.
Note: permission to access this file is governed by ptrace access mode PTRACE_MODE_ATTACH_FSCREDS
pidinteger: process PID,selfprocess if undefined- returns integer
- throws ProcfsError
Parses contents of /proc/<pid>/cpuset
pidinteger: process PID,selfprocess if undefined- returns string: path of the process's cpuset directory relative to the root of the cpuset filesystem
- throws ProcfsError
Parses contents of /proc/<pid>/limits
pidinteger: process PID,selfprocess if undefined- returns Array<ProcessLimit>: process's resource limits
- throws ProcfsError
Parses contents of /proc/<pid>/stat
pidinteger: process PID,selfprocess if undefined- returns ProcessStat: status information about the process(used by
ps) - throws ProcfsError
Parses contents of /proc/<pid>/status
Depending on hidepid option procfs was mounted with, may not be accessible by anyone but process owner.
pidinteger: process PID,selfprocess if undefined- returns ProcessStatus
- throws ProcfsError
Parses list of /proc/<pid>/fd/* entries.
Note: In a multithreaded process, the contents of this directory are not available if the main thread has already terminated (typically by calling pthread_exit).
pidinteger: process PID,selfprocess if undefined- returns Array<integer>: process's current open fds
- throws ProcfsError
Parses list of /proc/<pid>/task/* entries.
pidinteger: process PID,selfprocess if undefined- returns Array<integer>: process's current threads
- throws ProcfsError
Parses contents of /proc/<pid>/fdinfo/<fd>
fdinteger: target fdpidinteger: process PID,selfprocess if undefined- returns ProcessFdinfo: information about target file descriptor
- throws ProcfsError
Parses symlink at /proc/<pid>/fd/<fd>
Note: Permission to read this is governed by a ptrace access mode PTRACE_MODE_READ_FSCREDS check.
fdinteger: target fdpidinteger: process PID,selfprocess if undefined- returns ProcessFd: information about target file descriptor
- throws ProcfsError
Parses symlink at /proc/<pid>/exe
pidinteger: process PID,selfprocess if undefined- returns ProcessExe
- throws ProcfsError
Parses symlink at /proc/<pid>/cwd
Note: in a multithreaded process, it is not available if the main thread has already terminated.
Note: permission to read this file(symlink) is governed by ptrace access mode PTRACE_MODE_READ_FSCREDS.
pidinteger: process PID,selfprocess if undefined- returns Path: path to process
cwd - throws ProcfsError
Parses contents of /proc/<pid>/net/dev
pidinteger: process PID,selfprocess if undefined- returns Array<NetDevice>: statuses of network devices present within the system
- throws ProcfsError
Parses contents of /proc/<pid>/net/wireless
pidinteger: process PID,selfprocess if undefined- returns Array<NetWirelessDevice>: statuses of wireless network devices present within the system
- throws ProcfsError
Parses contents of /proc/<pid>/net/unix
pidinteger: process PID,selfprocess if undefined- returns Array<NetUnixSocket>: statuses of UNIX domain sockets present within the system
- throws ProcfsError
Parses contents of /proc/<pid>/net/tcp
pidinteger: process PID,selfprocess if undefined- returns Array<NetSocket4>: statuses of IPv4 TCP sockets present within the system
- throws ProcfsError
Parses contents of /proc/<pid>/net/udp
pidinteger: process PID,selfprocess if undefined- returns Array<NetSocket4>: statuses of IPv4 UDP sockets present within the system
- throws ProcfsError
Parses contents of /proc/<pid>/net/tcp6
pidinteger: process PID,selfprocess if undefined- returns Array<NetSocket6>: statuses of IPv6 TCP sockets present within the system
- throws ProcfsError
Parses contents of /proc/<pid>/net/udp6
pidinteger: process PID,selfprocess if undefined- returns Array<NetSocket6>: statuses of IPv6 UDP sockets present within the system
- throws ProcfsError
Parses contents of /proc/net/dev
- returns Array<NetDevice>: statuses of network devices present within the system
- throws ProcfsError
Parses contents of /proc/net/wireless
- returns Array<NetWirelessDevice>: statuses of wireless network devices present within the system
- throws ProcfsError
Parses contents of /proc/net/unix
- returns Array<NetUnixSocket>: statuses of UNIX domain sockets present within the system
- throws ProcfsError
Parses contents of /proc/net/tcp
- returns Array<NetSocket4>: statuses of IPv4 TCP sockets present within the system
- throws ProcfsError
Parses contents of /proc/net/udp
- returns Array<NetSocket4>: statuses of IPv4 UDP sockets present within the system
- throws ProcfsError
Parses contents of /proc/net/tcp6
- returns Array<NetSocket6>: statuses of IPv6 TCP sockets present within the system
- throws ProcfsError
Parses contents of /proc/net/udp6
- returns Array<NetSocket6>: statuses of IPv6 UDP sockets present within the system
- throws ProcfsError
⚠️ Unstable: documentation on that is hard to find, need to get at least a list of fields which are present on all systems or just remove this method from the library
Parses contents of /proc/cpuinfo
- returns Array<CpuCoreInfo>
- throws ProcfsError
Parses contents of /proc/loadavg
- returns Loadavg
- throws ProcfsError
Parses contents of /proc/uptime
- returns Uptime
- throws ProcfsError
Parses contents of /proc/version
Note: includes the contents of /proc/sys/kernel/ostype, /proc/sys/kernel/osrelease and /proc/sys/kernel/version.
- returns string: identifies the kernel version that is currently running
- throws ProcfsError
Parses contents of /proc/cmdline
- returns string: arguments passed to the Linux kernel at boot time
- throws ProcfsError
Parses contents of /proc/swaps
- returns Array<Swap>: swap areas in use
- throws ProcfsError
Parses contents of /proc/stat
- returns Stat: kernel/system statistics
- throws ProcfsError
Parses contents of /proc/devices
- returns Array<Device>: major numbers and device groups.
- throws ProcfsError
Parses contents of /proc/filesystems
- returns Array<Filesystem>: filesystems which are supported by the kernel(which were compiled into the kernel or whose kernel modules are currently loaded)
- throws ProcfsError
Parses contents of /proc/diskstats
- returns Array<Diskstat>: I/O statistics for each disk device
- throws ProcfsError
Parses contents of /proc/partitions
- returns Array<Partition>: partitions in system
- throws ProcfsError
Parses contents of /proc/meminfo
- returns Meminfo: statistics about memory usage on the system
- throws ProcfsError
Parses list of /proc/* entries.
Depending on hidepid option procfs was mounted with, may only contain user's own processes.
- returns Array<integer>: pids of currently running processes
- throws ProcfsError
Parses contents of /proc/config.gz
Available if the kernel is configured with CONFIG_IKCONFIG_PROC
- returns string: kernel config
- throws ProcfsError
Parses contents of /proc/cgroups
- returns Array<CgroupController>: controllers that are compiled into the kernel
- throws ProcfsError
devIdDevId- returns integer: minor part of devId
devIdDevId- returns integer: major part of devId
majorinteger: major part of DevIdminorinteger: minor part of DevId- returns DevId: id combined from major and minor parts
Path string
Type: string
Device ID. Major and minor parts can be extracted using utility functions procfs.devIdGetMinor, procfs.devIdGetMajor and combined using procfs.devIdFromMajorMinor.
Type: integer
Object with properties:
devIdDevId : value of st_dev for files on this filesystemmountIdinteger : unique ID for the mount (may be reused after umount)mountOptionsArray<string> : per-mount optionsmountPointPath : pathname of the mount point relative to the process's root directorymountSourcestring : filesystem-specific information or "none"optionalFieldsArray<string> : zero or more fields of the form "tag[:value]"parentIdinteger : ID of the parent mount (or of self for the root of this mount namespace's mount tree)rootstring : pathname of the directory in the filesystem which forms the root of this mountsuperOptionsArray<string> : per-superblock optionstypestring : filesystem type in the form "type[.subtype]"
Object with properties:
readinteger :rcharnumber of bytes readreadRealinteger :read_bytesnumber of bytes read which were really fetched from storage layerreadSyscallsinteger :syscrnumber of read syscallswriteinteger :wcharnumber of bytes writtenwriteCancelledinteger :cancelled_write_bytesnumber of bytes process caused to not be writtenwriteRealinteger :write_bytesnumber of bytes written which were really sent to storage layerwriteSyscallsinteger :syscwnumber of write syscalls
Object with properties:
lengthinteger : length of the range of IDs that is mapped between the two user namespacesstartinteger : start of the range of IDs to which the IDs do map Interpretation depends on whether the process that opened and the target process are in the same user namespace. If the two processes are in different user namespaces, it is the start of a range of IDs in the user namespace of the process that opened the file If the two processes are in the same user namespace it is the start of the range of IDs in the parent user namespace of target process.targetStartinteger : start of the range of IDs in the user namespace of the target process
Object with properties:
namestring : autogroup nameniceinteger : autogroup nice value
Object with properties:
datainteger : data + stack, in pagesresidentinteger : resident set size(same as VmRSS in/proc/<pid>/status), in pagessharedinteger : number of resident shared pages(same as RssFile + RssShmem in/proc/<pid>/status), in pagessizeinteger : total program size(same as VmSize in/proc/<pid>/status), in pagestextinteger : text (code), in pages
Object with properties:
hierarchyIdinteger :hierarchy-IDFor cgroups version 1 hierarchies, this field contains a unique hierarchy ID number that can be matched to a hierarchy ID in /proc/cgroups. For the cgroups version 2 hierarchy, this field contains the value 0.pathstring :cgroup-pathPathname of the control group in the hierarchy to which the process belongs. This pathname is relative to the mount point of the hierarchy.- optional
controllersArray<string> :controller-listFor cgroups version 1 hierarchies, this field contains a comma-separated list of the controllers bound to the hierarchy. For the cgroups version 2 hierarchy, this field isundefined.
Object with properties:
cgroupsNumberinteger :num_cgroupsnumber of control groups in this hierarchy using this controllerenabledboolean :enabledhierarchyIdinteger :hierarchyunique ID of the cgroup hierarchy on which this controller is mounted. The value in this field will be 0 if the controller is not mounted on a cgroups v1 hierarchy, if the controller is bound to the cgroups v2 single unified hierarchy or if the controller is disabled.namestring :subsys_namename of the controller
Object with properties:
namestring :Limitresource limit name- optional
hardinteger :Hard Limithard limit,undefinedif unlimited - optional
softinteger :Soft Limitsoft limit,undefinedif unlimited - optional
unitsstring :Unitsunits limit is measured in,undefinedif scalar
Process state, consists of one character. Possible values:
R: runningS: sleeping in an interruptible waitD: waiting in uninterruptible disk sleepZ: zombieT: stopped or trace stoppedt: tracing stopX: dead
Type: string
Only (arguably) most valuable fields included so far.
Object with properties:
blockIoTicksinteger :delayacct_blkio_ticksAggregated block I/O delays, in ticks.childGuestTicksinteger : Guest time of the process's children, in ticks.childKernelTicksinteger :cstimeAmount of time that this process's waited-for children have been scheduled in kernel mode, in ticks.childMajorFaultsinteger :cmajfltThe number of major faults that the process's waited-for children have made.childMinorFaultsinteger :cminfltThe number of minor faults that the process's waited-for children have made.childUserTicksinteger :cutimeAmount of time that this process's waited-for children have been scheduled in user mode, in ticks.commstring :commThe filename of the executable. Visible whether or not the executable is swapped out.exitSignalinteger :exit_signalSignal to be sent to parent when we dieflagsinteger :flagsThe kernel flags word of the process.guestTicksinteger : Guest time of the process (time spent running a virtual CPU for a guest operating system), in ticks.kernelTicksinteger :stimeAmount of time that this process has been scheduled in kernel mode, in ticks.lastCpuinteger :processorCPU number last executed on.majorFaultsinteger :majfltThe number of major faults the process has made which have required loading a memory page from disk.minorFaultsinteger :minfltThe number of minor faults the process has made which have not required loading a memory page from disk.niceinteger :niceThe nice value, a value in the range 19(low priority) to -20(high priority).parentinteger :ppidThe PID of the parent of the process.pidinteger :pidThe process PIDpriorityinteger :priorityFor processes running a real-time scheduling policy (policy below), this is the negated scheduling priority, minus one; that is, a number in the range -2 to -100, corresponding to real-time priorities 1 to 99. For processes running under a non-real-time scheduling policy, this is the raw nice value (setpriority(2)) as represented in the kernel. The kernel stores nice values as numbers in the range 0 (high) to 39 (low), corresponding to the user-visible nice range of -20 to 19.processGroupinteger :pgrpThe process group ID of the process.realtimePriorityinteger :rt_priorityReal-time scheduling priority, a number in the range 1 to 99 for processes scheduled under a real-time policy, or 0, for non-real-time processes.rssinteger :rssResident Set Size, number of pages the process has in real memory. This is just the pages which count toward text, data, or stack space. This does not include pages which have not been demand-loaded in, or which are swapped out.rssSoftLimitFloat :rsslimCurrent soft limit in bytes on the rss of the process.schedulingPolicyinteger :policyScheduling policy.sessioninteger :sessionThe session ID of the process.startTicksinteger :starttimeThe time the process started after system boot, in ticks.stateProcessState :stateprocess stateterminalProcessGroupinteger :tpgidThe ID of the foreground process group of the controlling terminal of the process.threadsinteger :num_threadsNumber of threads in this process.ttyinteger :tty_nrThe controlling terminal of the process.userTicksinteger :utimeAmount of time that this process has been scheduled in user mode(includes guest time), in ticks.vsizeinteger :vsizeVirtual memory size in bytes.
Object with properties:
contextSwitchesNonvoluntaryinteger :nonvoluntary_ctxt_switchesNumber of involuntary context switches.contextSwitchesVoluntaryinteger :voluntary_ctxt_switchesNumber of voluntary context switches.cpusAllowedMaskinteger :Cpus_allowedMask of CPUs on which this process may run.fdSlotsinteger :FDSizeNumber of file descriptor slots currently allocated.gidEffectiveinteger :GidEffective GID.gidFilesysteminteger :GidFilesystem GID.gidRealinteger :GidReal GID.gidSavedSetinteger :GidSaved set GID.groupsArray<integer> :GroupsSupplementary groups.hugetlbPagesSizeinteger :HugetlbPagesSize of hugetlb memory portions.memoriesAllowedMaskinteger :Mems_allowedMask of memory nodes allowed to this process.namestring :NameCommand run by the process.numaGroupIdinteger :NgidNUMA group ID.parentPidinteger :PPidPID of parent processpidinteger :PidThread ID.rtSignalsBlockedinteger :SigBlkMask indicating signals being blocked, high part(realtime signals).rtSignalsCaughtinteger :SigCgtMask indicating signals being caught, high part(realtime signals).rtSignalsIgnoredinteger :SigIgnMask indicating signals being ignored, high part(realtime signals).sharedSignalsPendinginteger :ShdPndNumber of signals pending for process as a whole.signalsBlockedinteger :SigBlkMask indicating signals being blocked, low part.signalsCaughtinteger :SigCgtMask indicating signals being caught, low part.signalsIgnoredinteger :SigIgnMask indicating signals being ignored, low part.signalsPendinginteger :SigPndNumber of signals pending for thread.signalsQueuedinteger :SigQThe number of currently queued signals for real UID of the process.signalsQueuedLimitinteger :SigQResource limit on the number of queued signals for this process.stateProcessState :StateCurrent state of the process.threadGroupIdinteger :TgidThread group ID.threadsinteger :ThreadsNumber of threads in process containing this thread.tracerPidinteger :TracerPidPID of process tracing this process (0 if not being traced)uidEffectiveinteger :UidEffective UID.uidFilesysteminteger :UidFilesystem UID.uidRealinteger :UidReal UID.uidSavedSetinteger :UidSaved set UID.vmDatainteger :VmDataSize of data segment.vmExeinteger :VmExeSize of text segment.vmHwminteger :VmHWMPeak resident set size.vmLibinteger :VmLibShared library code size.vmLockedinteger :VmLckLocked memory size.vmPeakinteger :VmPeakPeak virtual memory size.vmPinnedinteger :VmPinPinned memory size. These are pages that can't be moved because something needs to directly access physical memory.vmPteinteger :VmPTEPage table entries size.vmRssinteger :VmRSSResident set size. Note: value is the sum ofrssAnon,rssFile, andrssShmem(which might not be available depending on kernel version).vmSizeinteger :VmSizeVirtual memory size.vmStackinteger :VmStkSize of stack segment.vmSwapinteger :VmSwapSwapped-out virtual memory size by anonymous private pages; shmem swap usage is not included.- optional
namespacePidsArray<integer> :NSpidThread IDs in each of descending PID namespaces process is a member of, starting from namespace of process that mounted procfs(or root namespace if mounted by kernel). - optional
namespaceProcessGroupIdsArray<integer> :NSpgidProcess group IDs in each of descending PID namespaces process is a member of, starting from namespace of process that mounted procfs(or root namespace if mounted by kernel). - optional
namespaceSessionIdsArray<integer> :NSsidSession IDs in each of descending PID namespaces process is a member of, starting from namespace of process that mounted procfs(or root namespace if mounted by kernel). - optional
namespaceThreadGroupIdsArray<integer> :NStgidThread group IDs in each of descending PID namespaces process is a member of, starting from namespace of process that mounted procfs(or root namespace if mounted by kernel). - optional
rssAnoninteger - optional
rssFileinteger - optional
rssShmeminteger - optional
seccompModeinteger :SeccompSeccomp mode of the process.0means SECCOMP_MODE_DISABLED;1means SECCOMP_MODE_STRICT;2means SECCOMP_MODE_FILTER. Available if the kernel is configured withCONFIG_SECCOMP. - optional
speculationStoreBypassstring - optional
umaskinteger
Object with properties:
addressSizesstringapicIdintegerbugsArray<string>cacheAlignmentintegercacheSizestringclflushSizeintegercoreIdintegercoresintegercpuMhzFloatcpuidLevelintegerfamilyintegerflagsArray<string>fpubooleanfpuExceptionbooleanidintegerinitialApicIdintegermicrocodestringmodelintegermodelNamestringphysicalIdintegersiblingsintegersteppingintegervendorIdstringwpboolean- optional
bogoMipsFloat
Object with properties:
existingEntitiesFloat : number of kernel scheduling entities that currently exist on the systemjobsAverage15MinutesFloat : number of jobs in the run queue (state R) or waiting for disk I/O (state D) averaged over 15 minutesjobsAverage1MinuteFloat : number of jobs in the run queue (state R) or waiting for disk I/O (state D) averaged over 1 minutejobsAverage5MinutesFloat : number of jobs in the run queue (state R) or waiting for disk I/O (state D) averaged over 5 minutesmostRecentlyCreatedPidFloat : pid of the process that was most recently created on the systemrunnableEntitiesFloat : number of currently runnable kernel scheduling entities
Object with properties:
idleFloat : amount of time spent in the idle process, in secondstimeFloat : uptime of the system, including time spend in suspend, in seconds
Object with properties:
pathPath :Filenamepath to device, partition or filepriorityinteger :Priorityswap area usage prioritysizeinteger :Sizesize, in blockstypestring :Typecommonlypartitionorfile(theoretically, other values are possible)usedinteger :Usedused, in blocks
Note: amounts are in units of USER_HZ(a.k.a. ticks) which are 1/100ths of a second on most architectures, use sysconf(_SC_CLK_TCK) to obtain the right value).
Object with properties:
guestinteger :guesttime spent running a virtual CPU for guest operating systems under the control of the Linux kernel, in ticksguestNiceinteger :guest_nicetime spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel), in ticksidleinteger :idletime spent in the idle task, in ticksiowaitinteger :iowaittime waiting for I/O to complete, value is not reliable, in ticksirqinteger :irqtime servicing interrupts, in ticksniceinteger :nicetime spent in user mode with low priority, in tickssoftirqinteger :softirqtime servicing softirqs, in ticksstealinteger :stealstolen time, which is the time spent in other operating systems when running in a virtualized environment, in tickssysteminteger :systemtime spent in system mode, in ticksuserinteger :usertime spent in user mode, in ticks
Object with properties:
bootTimeDate : boot time, in seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC)contextSwitchesinteger : number of context switches that the system underwentcpuTimeArray<StatCpuTime> : time spent in various states, for each CPUforksinteger : number of forks since bootinterruptsinteger : total number of all interrupts serviced including unnumbered architecture specific interruptsnumberedInterruptsArray<integer> : number of interrupts serviced for each numbered interruptnumberedSoftInterruptsArray<integer> : number of soft interrupts serviced for each softirqprocessesBlockedinteger : number of processes blocked waiting for I/O to completeprocessesRunninginteger : number of processes in runnable statesoftInterruptsinteger : total number of soft interrupts servicedsystemCpuTimeStatCpuTime : time system spent in various states
Object with properties:
groupstring : Group namemajorinteger : Device ID major parttypestring :characterorblock
Object with properties:
namestring : filesystem namerequiresBlockDeviceboolean : if filesystem requires a block device to be mounted (unlike e.g., virtual filesystem, network filesystem)
Object with properties:
currentIoCountinteger : number of of IOs currently in progressdevIdDevId : device idioTimeinteger : milliseconds spent doing IOnamestring : device namereadTimeinteger : milliseconds spent readingreadsinteger : total number of readsreadsMergedinteger : number of reads mergedsectorsReadinteger : total number of sectors readsectorsWriteninteger : total number of sectors writtenweightedIoTimeinteger : weighted milliseconds spent doing I/Os. This field is incremented at each I/O start, I/O completion, I/O merge, or read of these stats by the number of I/Os in progress times the number of milliseconds spent doing I/O since the last update of this field. This can provide an easy measure of both I/O completion time and the backlog that may be accumulating.writeTimeinteger : milliseconds spent writingwritesinteger : total number of writeswritesMergedinteger : number of writes merged
Object with properties:
blocksinteger : number of 1024-byte blocks on partitiondevIdDevId : major and minor numbers of devicenamestring : partition name
Memory amounts are expressed in bytes.
Object with properties:
activeinteger :ActiveMemory that has been used more recently and usually not reclaimed unless absolutely necessary.anonHugePagesinteger :AnonHugePagesNon-file backed huge pages mapped into userspace page tables. Available if the kernel is configured withCONFIG_TRANSPARENT_HUGEPAGE.anonPagesinteger :AnonPagesNon-file backed pages mapped into user-space page tables.availableinteger :MemAvailableAn estimate of how much memory is available for starting new applications, without swappingbounceBuffersinteger :BounceMemory used for block device "bounce buffers".buffersinteger :BuffersRelatively temporary storage for raw disk blocks that shouldn't get tremendously largecachedinteger :CachedIn-memory cache for files read from the disk (the page cache). Doesn't include Swap‐Cached.commitLimitinteger :CommitLimitTotal amount of memory currently available to be allocated on the system.directMap1Ginteger :DirectMap1GNumber of bytes of RAM linearly mapped by kernel in 1GB pages.directMap2Minteger :DirectMap2MNumber of bytes of RAM linearly mapped by kernel in 2MB pages.directMap4Kinteger :DirectMap4kNumber of bytes of RAM linearly mapped by kernel in 4kB pagesdirectMap4Minteger :DirectMap4MNumber of bytes of RAM linearly mapped by kernel in 4MB pages.dirtyinteger :DirtyMemory which is waiting to get written back to the disk.freeinteger :MemFreeAmount of free RAMinactiveinteger :InactiveMemory which has been less recently used. It is more eligible to be reclaimed for other purposes.kernelStackinteger :KernelStackAmount of memory allocated to kernel stacks.mappedinteger :MappedFiles which have been mapped into memory (with mmap), such as libraries.pageTablesinteger :PageTablesAmount of memory dedicated to the lowest level of page tables.shmeminteger :ShmemAmount of memory consumed in tmpfs filesystems.slabinteger :SlabIn-kernel data structures cache.slabReclaimableinteger :SReclaimablePart of Slab, that might be reclaimed, such as caches.slabUnreclaimableinteger :SUnreclaimPart of Slab, that cannot be reclaimed on memory pressure.swapCachedinteger :SwapCachedMemory that once was swapped out, is swapped back in but still also is in the swap file. (If memory pressure is high, these pages don't need to be swapped out again because they are already in the swap file. This saves I/O.)swapFreeinteger :SwapFreeAmount of swap space that is currently unused.swapTotalinteger :SwapTotalTotal amount of swap space available.totalinteger :MemTotalTotal usable RAMvmallocTotalinteger :VmallocTotalTotal size of vmalloc memory area.writebackinteger :WritebackMemory which is actively being written back to the disk.writebackTmpinteger :WritebackTmpMemory used by FUSE for temporary writeback buffers.- optional
hardwareCorruptedinteger :HardwareCorruptedAvailable if the kernel is configured withCONFIG_MEMORY_FAILURE. - optional
hugepageSizeinteger :HugepagesizeThe size of huge pages. Available if the kernel is configured withCONFIG_HUGETLB_PAGE. - optional
hugepagesFreeinteger :HugePages_FreeThe number of huge pages in the pool that are not yet allocated. Available if the kernel is configured withCONFIG_HUGETLB_PAGE. - optional
hugepagesReservedinteger :HugePages_RsvdThis is the number of huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made. These reserved huge pages guarantee that an application will be able to allocate a huge page from the pool of huge pages at fault time. Available if the kernel is configured withCONFIG_HUGETLB_PAGE. - optional
hugepagesSurplusinteger :HugePages_SurpThis is the number of huge pages in the pool above the value in/proc/sys/vm/nr_hugepages. The maximum number of surplus huge pages is controlled by/proc/sys/vm/nr_overcommit_hugepages. Available if the kernel is configured withCONFIG_HUGETLB_PAGE. - optional
hugepagesTotalinteger :HugePages_TotalThe size of the pool of huge pages. Available if the kernel is configured withCONFIG_HUGETLB_PAGE. - optional
kernelReclaimableinteger :KReclaimableKernel allocations that the kernel will attempt to reclaim under memory pressure. IncludesSReclaimableand other direct allocations with a shrinker. Available since Linux 4.20. - optional
shmemHugePagesinteger :ShmemHugePagesMemory used by shared memory and tmpfs allocated with huge pages. Available since Linux 4.8 if the kernel is configured withCONFIG_TRANSPARENT_HUGEPAGE. - optional
shmemPmdMappedinteger :ShmemPmdMappedShared memory mapped into user space with huge pages. Available since Linux 4.8 if the kernel is configured withCONFIG_TRANSPARENT_HUGEPAGE.
Object with properties:
fdinteger :tfd, file descriptormaskinteger :events, mask of events being monitored for fd
Object with properties:
devIdDevId :sdev, ID of the device where the file residesignoredMaskinteger :ignored_mask, event mask that is ignored for target fileinodeinteger :ino, inode of the target filemaskinteger :mask, mask of events being monitored for the filewdinteger :wd, watch descriptor number
Object with properties:
devIdDevId :sdev, ID of the device where the file residesflagsinteger :flags, mark flagsignoredMaskinteger :ignored_mask, event mask that is ignored for this markinodeinteger :ino, inode of the target filemaskinteger :mask, event mask for this mark
Type of file descriptor. Possible values:
regular: regular file descriptorevent: eventfd file descriptorepoll: epoll file descriptorsignal: signalfd file descriptorinotify: intofiy file descriptorfanotify: fanotify file descriptortimer: timerfd file descriptor
Type: string
Object with properties:
flagsinteger : file access mode and status flagsmountIdinteger : ID of the mount point containing the filepositioninteger : file offsettypeProcessFdinfoType : fd type- optional
epollCountersArray<ProcessFdinfoEpollCounter> : for typeepoll, information about file descriptors being monitoring - optional
eventCounterinteger : for typeevent, current value of the event counter - optional
fanotifyEventFlagsinteger : for type 'fanotify,event_f_flagsargument given tofanotify_init` - optional
fanotifyFlagsinteger : for typefanotify,flagsargument given tofanotify_init - optional
fanotifyMarksArray<ProcessFdinfoFanotifyMark> : for typefanotify, information about marks in fanotify group - optional
inotifyFilesArray<ProcessFdinfoInotifyFile> : for typeinotify, information of files being monitored - optional
rtSignalMaskinteger : for typesignal, mask of signals being monitored, high part - optional
signalMaskinteger : for typesignal, mask of signals being monitored, low part - optional
timerClockIdinteger : for typetimer, clock ID - optional
timerIntervalArray<integer> : for typetimer, interval of the timer, seconds and nanoseconds - optional
timerSettimeFlagsinteger : for typetimer, flags with which timer was last armed - optional
timerTicksinteger : for typetimer, number of timer expirations that have occured - optional
timerValueArray<integer> : for typetimer, amount of time until the timer will next expire, seconds and nanoseconds
Object with properties:
typestring :pipe,socket,fileoranon-inode- optional
anonInodeTypestring : fortypeanon-inode, the file type, likeeventfd,eventpoll - optional
inodeinteger : fortypespipeandsocket, the inode of this pipe or socket - optional
pathstring : fortypefile, the file path
Object with properties:
deletedboolean : if path have been unlinkedpathstring : actual path of executed command
Object with properties:
namestring :Interfaceinterface namerxBytesinteger :Receive/bytesnumber of received bytesrxCompressedinteger :Receive/compressednumber of compressed packets receivedrxDropinteger :Receive/dropnumber of received packets droppedrxErrorsinteger :Receive/errstotal number of receive errorsrxFifointeger :Receive/fifonumber of receive FIFO buffer errorsrxFrameinteger :Receive/framenumber of packet framing errorsrxMulticastinteger :Receive/multicastnumber of multicast frames receivedrxPacketsinteger :Receive/packetsnumber of received packetstxBytesinteger :Transmit/bytestransmitted bytestxCarrierinteger :Transmit/carriernumber of carrier losses detected on the interfacetxCollsinteger :Transmit/collsnumber of collisions detected on the interfacetxCompressedinteger :Transmit/compressednumber of compressed packets transmittedtxDropinteger :Transmit/dropnumber of transmit packets droppedtxErrorsinteger :Transmit/errstotal number of transmit errorstxFifointeger :Transmit/fifonumber of transmit FIFO buffer errorstxPacketsinteger :Transmit/packetstransmitted packets
Object with properties:
discardedCryptinteger : number of packets discarded due todiscardedFraginteger : number of packets discarded due to inability to perform MAC reassemblydiscardedMiscinteger : number of packets discarded due to other reasonsdiscardedNwidinteger : number of packets discarded due to wrong nwid/essiddiscardedRetryinteger : number of packets discarded due to max MAC retries num reachedlevelFloat : signal strength at the receiverlinkFloat : general quality of the receptionmissedBeaconsinteger : number of missed beacons/superframesnamestring : interface namenoiseFloat : silence level (no packet) at the receiver
Object with properties:
referenceCountinteger : number of users of the socketslotstring : kernel table slot numbertypeinteger : socket type,1forSOCK_STREAMsockets,2forSOCK_DGRAMsockets,5forSOCK_SEQPACKETsockets- optional
pathstring : bound pathname (if any) of the socket. For sockets in the abstract namespace, starts with at sign(char code 64).
Object with properties:
localAddressinteger : local address as 32 bit integerlocalPortinteger : local portremoteAddressinteger : remote address as 32 bit integerremotePortinteger : remote portrxQueueinteger : incoming queue memory usageslotinteger : kernel hash slot for the sockettxQueueinteger : outgoing queue memory usageuidinteger : effective UID of the creator of the socket
Object with properties:
localAddressstring : local address as hexadecimal stringlocalPortinteger : local portremoteAddressstring : remote address as hexadecimal stringremotePortinteger : remote portrxQueueinteger : incoming queue memory usageslotinteger : kernel hash slot for the sockettxQueueinteger : outgoing queue memory usageuidinteger : effective UID of the creator of the socket
extends Error with properties:
codestring: error code, one of:EPARSE(Procfs.ERR_PARSING_FAILED): guard error, if you see this, consider submitting a bug reportEUNKNOWN(Procfs.ERR_UNKNOWN): completely unexpected error, if you see this, consider submitting a bug reportENOENT(Procfs.ERR_NOT_FOUND): target file not found(or we were denied access)
- optional
sourceTextstring: for parsing errors, a part of file we encountered problem with - optional
sourceErrorError: when applicable, underlying error