22.16.151. salt.modules.ps

A salt interface to psutil, a system and process library. See http://code.google.com/p/psutil.

depends:
  • psutil Python module, version 0.3.0 or later
  • python-utmp package (optional)
salt.modules.ps.boot_time(time_format=None)

Return the boot time in number of seconds since the epoch began.

CLI Example:

time_format

Optionally specify a strftime format string. Use time_format='%c' to get a nicely-formatted locale specific date and time (i.e. Fri May  2 19:08:32 2014).

New in version 2014.1.4.

salt '*' ps.boot_time
salt.modules.ps.cpu_percent(interval=0.1, per_cpu=False)

Return the percent of time the CPU is busy.

interval
the number of seconds to sample CPU usage over
per_cpu
if True return an array of CPU percent busy for each CPU, otherwise aggregate all percents into one number

CLI Example:

salt '*' ps.cpu_percent
salt.modules.ps.cpu_times(per_cpu=False)

Return the percent of time the CPU spends in each state, e.g. user, system, idle, nice, iowait, irq, softirq.

per_cpu
if True return an array of percents for each CPU, otherwise aggregate all percents into one number

CLI Example:

salt '*' ps.cpu_times
salt.modules.ps.disk_io_counters(device=None)

Return disk I/O statistics.

CLI Example:

salt '*' ps.disk_io_counters

salt '*' ps.disk_io_counters device=sda1
salt.modules.ps.disk_partition_usage(all=False)

Return a list of disk partitions plus the mount point, filesystem and usage statistics.

CLI Example:

salt '*' ps.disk_partition_usage
salt.modules.ps.disk_partitions(all=False)

Return a list of disk partitions and their device, mount point, and filesystem type.

all
if set to False, only return local, physical partitions (hard disk, USB, CD/DVD partitions). If True, return all filesystems.

CLI Example:

salt '*' ps.disk_partitions
salt.modules.ps.disk_usage(path)

Given a path, return a dict listing the total available space as well as the free space, and used space.

CLI Example:

salt '*' ps.disk_usage /home
salt.modules.ps.get_pid_list()

Return a list of process ids (PIDs) for all running processes.

CLI Example:

salt '*' ps.get_pid_list
salt.modules.ps.get_users()

Return logged-in users.

CLI Example:

salt '*' ps.get_users
salt.modules.ps.kill_pid(pid, signal=15)

Kill a process by PID.

salt 'minion' ps.kill_pid pid [signal=signal_number]
pid
PID of process to kill.
signal
Signal to send to the process. See manpage entry for kill for possible values. Default: 15 (SIGTERM).

Example:

Send SIGKILL to process with PID 2000:

salt 'minion' ps.kill_pid 2000 signal=9
salt.modules.ps.network_io_counters(interface=None)

Return network I/O statistics.

CLI Example:

salt '*' ps.network_io_counters

salt '*' ps.network_io_counters interface=eth0
salt.modules.ps.num_cpus()

Return the number of CPUs.

CLI Example:

salt '*' ps.num_cpus
salt.modules.ps.pgrep(pattern, user=None, full=False)

Return the pids for processes matching a pattern.

If full is true, the full command line is searched for a match, otherwise only the name of the command is searched.

salt '*' ps.pgrep pattern [user=username] [full=(true|false)]
pattern
Pattern to search for in the process list.
user
Limit matches to the given username. Default: All users.
full
A boolean value indicating whether only the name of the command or the full command line should be matched against the pattern.

Examples:

Find all httpd processes on all 'www' minions:

salt 'www.*' ps.pgrep httpd

Find all bash processes owned by user 'tom':

salt '*' ps.pgrep bash user=tom
salt.modules.ps.pkill(pattern, user=None, signal=15, full=False)

Kill processes matching a pattern.

salt '*' ps.pkill pattern [user=username] [signal=signal_number] \
        [full=(true|false)]
pattern
Pattern to search for in the process list.
user
Limit matches to the given username. Default: All users.
signal
Signal to send to the process(es). See manpage entry for kill for possible values. Default: 15 (SIGTERM).
full
A boolean value indicating whether only the name of the command or the full command line should be matched against the pattern.

Examples:

Send SIGHUP to all httpd processes on all 'www' minions:

salt 'www.*' ps.pkill httpd signal=1

Send SIGKILL to all bash processes owned by user 'tom':

salt '*' ps.pkill bash signal=9 user=tom
salt.modules.ps.swap_memory()

New in version 2014.7.0.

Return a dict that describes swap memory statistics.

Note

This function is only available in psutil version 0.6.0 and above.

CLI Example:

salt '*' ps.swap_memory
salt.modules.ps.top(num_processes=5, interval=3)

Return a list of top CPU consuming processes during the interval. num_processes = return the top N CPU consuming processes interval = the number of seconds to sample CPU usage over

CLI Examples:

salt '*' ps.top

salt '*' ps.top 5 10
salt.modules.ps.total_physical_memory()

Return the total number of bytes of physical memory.

CLI Example:

salt '*' ps.total_physical_memory
salt.modules.ps.virtual_memory()

New in version 2014.7.0.

Return a dict that describes statistics about system memory usage.

Note

This function is only available in psutil version 0.6.0 and above.

CLI Example:

salt '*' ps.virtual_memory

Docs for previous releases are available on salt.rtfd.org.

Latest Salt release: 2014.1.13

Try the shiny new release candidate of Salt, v2014.7.0rc6! More info here.

Previous topic

22.16.150. salt.modules.powerpath

Next topic

22.16.152. salt.modules.publish

SaltStack News

Upcoming SaltStack events, webinars and local meet ups and user groups.