From 27f5118abd8dcf944ce682c7adea8c165f9760e5 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 24 May 2022 15:47:51 -0700 Subject: [PATCH] add top parser --- jc/lib.py | 1 + jc/parsers/top.py | 402 ++++++++++++++++++ .../centos-7.7/top-b-n1-gib-allfields-w.out | 115 +++++ tests/fixtures/centos-7.7/top-b-n1-gib.out | 115 +++++ 4 files changed, 633 insertions(+) create mode 100644 jc/parsers/top.py create mode 100644 tests/fixtures/centos-7.7/top-b-n1-gib-allfields-w.out create mode 100644 tests/fixtures/centos-7.7/top-b-n1-gib.out diff --git a/jc/lib.py b/jc/lib.py index cd6609f7..be9a3b02 100644 --- a/jc/lib.py +++ b/jc/lib.py @@ -91,6 +91,7 @@ parsers = [ 'systeminfo', 'time', 'timedatectl', + 'top', 'tracepath', 'traceroute', 'ufw', diff --git a/jc/parsers/top.py b/jc/parsers/top.py new file mode 100644 index 00000000..8f3b82e7 --- /dev/null +++ b/jc/parsers/top.py @@ -0,0 +1,402 @@ +"""jc - JSON Convert `top` command output parser + +Requires batch mode (`-b`). The `-n` option should also be used to limit +the number of times `top` is run. + +Usage (cli): + + $ top -b -n 3 | jc --top + + or + + $ jc top -b -n 3 + +Usage (module): + + import jc + result = jc.parse('top', top_command_output) + +Schema: + + [ + { + "time": string, + "uptime": integer, + "users": integer, + "load_1m": float, + "load_5m": float, + "load_15m": float, + "tasks_total": integer, + "tasks_running": integer, + "tasks_sleeping": integer, + "tasks_stopped": integer, + "tasks_zombie": integer, + "cpu_user": float, + "cpu_sys": float, + "cpu_nice": float, + "cpu_idle": float, + "cpu_wait": float, + "cpu_hardware": float, + "cpu_software": float, + "cpu_steal": float, + "mem_total": integer, + "mem_free": integer, + "mem_used": integer, + "mem_buff_cache": integer, + "swap_total": integer, + "swap_free": integer, + "swap_used": integer, + "mem_available": integer, + "processes": [ + { + "pid": integer, + "user": string, + "priority": integer, + "nice": integer, + "virtual_mem": string, + "resident_mem": string, + "shared_mem": string, + "status": string, + "percent_cpu": float, + "percent_mem": float, + "time_hundredths ": string, + "command": string, + "parent_pid": integer, + "uid": integer, + "real_uid": integer, + "real_user": string, + "saved_uid": integer, + "saved_user": string, + "gid": integer, + "group": string, + "pgrp": integer, + "tty": string, + "tty_process_gid": integer, + "session_id": integer, + "thread_count": integer, + "last_used_processor": integer, + "time": string, + "swap": string, + "code": string, + "data": string, + "major_page_fault_count": integer, + "minor_page_fault_count": integer, + "dirty_pages_count": integer, + "sleeping_in_function": string, + "flags": string, + "cgroups": string, + "supplementary_gids": [ + integer + ], + "supplementary_groups": [ + string + ], + "thread_gid": integer, + "environment_variables": [ + string + ] + "major_page_fault_count_delta": integer, + "minor_page_fault_count_delta": integer, + "used": string, + "ipc_namespace_inode": integer, + "mount_namespace_inode": integer, + "net_namespace_inode": integer, + "pid_namespace_inode": integer, + "user_namespace_inode": integer, + "nts_namespace_inode": integer + } + ] + } + ] + +Examples: + + $ top -b -n 3 | jc --top -p + [] + + $ top -b -n 3 | jc --top -p -r + [] +""" +from typing import List, Dict +import jc.utils +from jc.parsers.uptime import parse as parse_uptime +from jc.parsers.universal import sparse_table_parse as parse_table + + +class info(): + """Provides parser metadata (version, author, etc.)""" + version = '1.0' + description = '`top -b` command parser' + author = 'Kelly Brazil' + author_email = 'kellyjonbrazil@gmail.com' + compatible = ['linux'] + magic_commands = ['top -b'] + + +__version__ = info.version + + +def _process(proc_data: List[Dict]) -> List[Dict]: + """ + Final processing to conform to the schema. + + Parameters: + + proc_data: (List of Dictionaries) raw structured data to process + + Returns: + + List of Dictionaries. Structured to conform to the schema. + """ + key_map: Dict = { + '%CPU': 'percent_cpu', + '%MEM': 'percent_mem', + 'CGROUPS': 'cgroups', + 'CODE': 'code', + 'COMMAND': 'command', + 'DATA': 'data', + 'Flags': 'flags', + 'GID': 'gid', + 'GROUP': 'group', + 'PGRP': 'pgrp', + 'PID': 'pid', + 'SWAP': 'swap', + 'TIME': 'time', + 'TIME+': 'time_hundredths ', + 'TTY': 'tty', + 'UID': 'uid', + 'USED': 'used', + 'USER': 'user', + 'PR': 'priority', + 'NI': 'nice', + 'VIRT': 'virtual_mem', + 'RES': 'resident_mem', + 'SHR': 'shared_mem', + 'S': 'status', + 'ENVIRON': 'environment_variables', + 'P': 'last_used_processor', + 'PPID': 'parent_pid', + 'RUID': 'real_uid', + 'RUSER': 'real_user', + 'SID': 'session_id', + 'SUID': 'saved_uid', + 'SUPGIDS': 'supplementary_gids', + 'SUPGRPS': 'supplementary_groups', + 'SUSER': 'saved_user', + 'TGID': 'thread_gid', + 'TPGID': 'tty_process_gid', + 'WCHAN': 'sleeping_in_function', + 'nDRT': 'dirty_pages_count', + 'nMaj': 'major_page_fault_count', + 'nMin': 'minor_page_fault_count', + 'nTH': 'thread_count', + 'nsIPC': 'ipc_namespace_inode', + 'nsMNT': 'mount_namespace_inode', + 'nsNET': 'net_namespace_inode', + 'nsPID': 'pid_namespace_inode', + 'nsUSER': 'user_namespace_inode', + 'nsUTS': 'nts_namespace_inode', + 'vMj': 'major_page_fault_count_delta', + 'vMn': 'minor_page_fault_count_delta' + } + + status_map: Dict = { + 'D': 'uninterruptible sleep', + 'R': 'running', + 'S': 'sleeping', + 'T': 'stopped by job control signal', + 't': 'stopped by debugger during trace', + 'Z': 'zombie' + } + + int_list: List = [ + 'uptime', + 'users', + 'tasks_total', + 'tasks_running', + 'tasks_sleeping', + 'tasks_stopped', + 'tasks_zombie', + 'mem_total', + 'mem_free', + 'mem_used', + 'mem_buff_cache', + 'swap_total', + 'swap_free', + 'swap_used', + 'mem_available' + ] + + float_list: List = [ + 'load_1m', + 'load_5m', + 'load_15m', + 'cpu_user', + 'cpu_sys', + 'cpu_nice', + 'cpu_idle', + 'cpu_wait', + 'cpu_hardware', + 'cpu_software', + 'cpu_steal' + ] + + + for item in proc_data: + # root int and float conversions + for key in item: + if key in int_list: + item[key] = jc.utils.convert_to_int(item[key]) + + if key in float_list: + item[key] = jc.utils.convert_to_float(item[key]) + + for proc in item['processes']: + # rename processes keys to conform to schema + proc_copy = proc.copy() + for old_key in proc_copy.keys(): + proc[key_map[old_key]] = proc.pop(old_key) + + # set dashes to nulls + for key in proc.keys(): + if proc[key] == '-': + proc[key] = None + + # set status string + if proc.get('status'): + proc['status'] = status_map[proc['status']] + + # split supplementary_gids to a list of integers + + # split supplementary_groups to a list of strings + + # split environment_variables to a list of strings + if proc.get('environment_variables'): + env_list = proc['environment_variables'].split() + env_list = [x if '=' in x else f'{x} (truncated)' for x in env_list] + proc['environment_variables'] = env_list + + + + + + + + return proc_data + + +def parse( + data: str, + raw: bool = False, + quiet: bool = False +) -> List[Dict]: + """ + Main text parsing function + + Parameters: + + data: (string) text data to parse + raw: (boolean) unprocessed output if True + quiet: (boolean) suppress warning messages if True + + Returns: + + List of Dictionaries. Raw or processed structured data. + """ + jc.utils.compatibility(__name__, info.compatible, quiet) + jc.utils.input_type_check(data) + + raw_output: List = [] + item_obj: Dict = {} + process_table = False + process_list: List = [] + + if jc.utils.has_data(data): + + for line in filter(None, data.splitlines()): + if line.startswith('top - '): + if item_obj: + if process_list: + item_obj['processes'] = parse_table(process_list) + raw_output.append(item_obj) + process_table = False + process_list = [] + item_obj = {} + + uptime_str = line[6:] + item_obj.update(parse_uptime(uptime_str, raw=True)) + continue + + if line.startswith('Tasks:'): + # Tasks: 112 total, 1 running, 111 sleeping, 0 stopped, 0 zombie + line_list = line.split() + item_obj.update( + { + 'tasks_total': line_list[1], + 'tasks_running': line_list[3], + 'tasks_sleeping': line_list[5], + 'tasks_stopped': line_list[7], + 'tasks_zombie': line_list[9] + } + ) + continue + + if line.startswith('%Cpu(s):'): + # %Cpu(s): 5.9 us, 5.9 sy, 0.0 ni, 88.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st + line_list = line.split() + item_obj.update( + { + 'cpu_user': line_list[1], + 'cpu_sys': line_list[3], + 'cpu_nice': line_list[5], + 'cpu_idle': line_list[7], + 'cpu_wait': line_list[9], + 'cpu_hardware': line_list[11], + 'cpu_software': line_list[13], + 'cpu_steal': line_list[15] + } + ) + continue + + if line.startswith('KiB Mem :'): + # KiB Mem : 3861332 total, 3446476 free, 216940 used, 197916 buff/cache + line_list = line.split() + item_obj.update( + { + 'mem_total': line_list[3], + 'mem_free': line_list[5], + 'mem_used': line_list[7], + 'mem_buff_cache': line_list[9] + } + ) + continue + + if line[1:].startswith('iB Swap:'): + # KiB Swap: 2097148 total, 2097148 free, 0 used. 3419356 avail Mem + line_list = line.split() + item_obj.update( + { + 'swap_total': line_list[2], + 'swap_free': line_list[4], + 'swap_used': line_list[6], + 'mem_available': line_list[8] + } + ) + continue + + if line.startswith(' PID '): + # line = normalize_headers(line) + process_table = True + process_list.append(line) + continue + + if process_table: + process_list.append(line) + continue + + if item_obj: + if process_list: + item_obj['processes'] = parse_table(process_list) + raw_output.append(item_obj) + + return raw_output if raw else _process(raw_output) diff --git a/tests/fixtures/centos-7.7/top-b-n1-gib-allfields-w.out b/tests/fixtures/centos-7.7/top-b-n1-gib-allfields-w.out new file mode 100644 index 00000000..0e078553 --- /dev/null +++ b/tests/fixtures/centos-7.7/top-b-n1-gib-allfields-w.out @@ -0,0 +1,115 @@ +top - 11:20:43 up 1:18, 2 users, load average: 0.00, 0.01, 0.05 +Tasks: 108 total, 2 running, 106 sleeping, 0 stopped, 0 zombie +%Cpu(s): 5.6 us, 11.1 sy, 0.0 ni, 83.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st +GiB Mem : 3.7 total, 3.3 free, 0.2 used, 0.2 buff/cache +GiB Swap: 2.0 total, 2.0 free, 0.0 used. 3.3 avail Mem + + PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND PPID UID RUID RUSER SUID SUSER GID GROUP PGRP TTY TPGID SID nTH P TIME SWAP CODE DATA nMaj nMin nDRT WCHAN Flags CGROUPS SUPGIDS SUPGRPS TGID ENVIRON vMj vMn USED nsIPC nsMNT nsNET nsPID nsUSER nsUTS + 2225 kbrazil 20 0 158.1m 2.2m 1.6m R 12.5 0.1 0:00.02 top 1884 1000 1000 kbrazil 1000 kbrazil 1000 kbrazil 2225 pts/0 2225 1884 1 0 0:00 0.0m 0.1m 1.0m 0 736 0 - ..4.2... 1:name=systemd:/user.slice/user-1000.+ 10,1000 wheel,kbrazil 2225 XDG_SESSION_ID=2 HOSTNAME=localhost S+ 0 4 2.2m 4026531839 4026531840 4026531956 4026531836 4026531837 4026531838 + 1 root 20 0 125.1m 6.5m 4.1m S 0.0 0.2 0:01.47 systemd 0 0 0 root 0 root 0 root 1 ? -1 1 1 0 0:01 0.0m 1.4m 82.4m 63 13k 0 ep_poll ..4.21.. - - - 1 - 0 0 6.5m - - - - - - + 2 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kthreadd 0 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 kthreadd ..2.a.4. - - - 2 - 0 0 0.0m - - - - - - + 4 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kworker/0:0H 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 worker_th+ .42.a.6. - - - 4 - 0 0 0.0m - - - - - - + 6 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.10 ksoftirqd/0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 smpboot_t+ .42.a.4. - - - 6 - 0 0 0.0m - - - - - - + 7 root rt 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 migration/0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 smpboot_t+ .42.a.4. - - - 7 - 0 0 0.0m - - - - - - + 8 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 rcu_bh 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rcu_gp_kt+ ..2.a.4. - - - 8 - 0 0 0.0m - - - - - - + 9 root 20 0 0.0m 0.0m 0.0m R 0.0 0.0 0:00.49 rcu_sched 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 ? ..2.a.4. - - - 9 - 0 0 0.0m - - - - - - + 10 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 lru-add-drain 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 10 - 0 0 0.0m - - - - - - + 11 root rt 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.08 watchdog/0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 smpboot_t+ .42.a14. - - - 11 - 0 0 0.0m - - - - - - + 13 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kdevtmpfs 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 devtmpfsd ..2.a14. - - - 13 - 0 0 0.0m - - - - - - + 14 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 netns 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 14 - 0 0 0.0m - - - - - - + 15 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 khungtaskd 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 watchdog ..2.a.4. - - - 15 - 0 0 0.0m - - - - - - + 16 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 writeback 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 16 - 0 0 0.0m - - - - - - + 17 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kintegrityd 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 17 - 0 0 0.0m - - - - - - + 18 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 18 - 0 0 0.0m - - - - - - + 19 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 19 - 0 0 0.0m - - - - - - + 20 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 20 - 0 0 0.0m - - - - - - + 21 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kblockd 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 21 - 0 0 0.0m - - - - - - + 22 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 md 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 22 - 0 0 0.0m - - - - - - + 23 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 edac-poller 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 23 - 0 0 0.0m - - - - - - + 24 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 watchdogd 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 24 - 0 0 0.0m - - - - - - + 30 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kswapd0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 kswapd ..a4284. - - - 30 - 0 0 0.0m - - - - - - + 31 root 25 5 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 ksmd 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 ksm_scan_+ 4.2.2.4. - - - 31 - 0 0 0.0m - - - - - - + 32 root 39 19 0.0m 0.0m 0.0m S 0.0 0.0 0:00.03 khugepaged 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 khugepaged 4.2.2.4. - - - 32 - 0 0 0.0m - - - - - - + 33 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 crypto 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 33 - 0 0 0.0m - - - - - - + 41 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kthrotld 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 41 - 0 0 0.0m - - - - - - + 43 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kmpath_rdacd 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 43 - 0 0 0.0m - - - - - - + 44 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kaluad 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 44 - 0 0 0.0m - - - - - - + 45 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kpsmoused 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 45 - 0 0 0.0m - - - - - - + 47 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 ipv6_addrconf 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 47 - 0 0 0.0m - - - - - - + 60 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 deferwq 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 60 - 0 0 0.0m - - - - - - + 95 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kauditd 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 kauditd_t+ ..2.2.4. - - - 95 - 0 0 0.0m - - - - - - + 272 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 nfit 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 272 - 0 0 0.0m - - - - - - + 273 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 mpt_poll_0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 273 - 0 0 0.0m - - - - - - + 274 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 mpt/0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 274 - 0 0 0.0m - - - - - - + 275 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 ata_sff 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 275 - 0 0 0.0m - - - - - - + 321 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 scsi_eh_0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 scsi_erro+ ..2.a.4. - - - 321 - 0 0 0.0m - - - - - - + 326 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 scsi_tmf_0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 326 - 0 0 0.0m - - - - - - + 345 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.01 scsi_eh_1 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 scsi_erro+ ..2.a.4. - - - 345 - 0 0 0.0m - - - - - - + 346 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 scsi_tmf_1 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 346 - 0 0 0.0m - - - - - - + 347 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.01 scsi_eh_2 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 scsi_erro+ ..2.a.4. - - - 347 - 0 0 0.0m - - - - - - + 350 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 scsi_tmf_2 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 350 - 0 0 0.0m - - - - - - + 356 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kworker/u256:4 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 worker_th+ .42.a.6. - - - 356 - 0 0 0.0m - - - - - - + 359 root -51 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.02 irq/16-vmwgfx 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 irq_thread ..2.a14. - - - 359 - 0 0 0.0m - - - - - - + 360 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 ttm_swap 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 360 - 0 0 0.0m - - - - - - + 431 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kdmflush 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 431 - 0 0 0.0m - - - - - - + 432 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 432 - 0 0 0.0m - - - - - - + 442 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kdmflush 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 442 - 0 0 0.0m - - - - - - + 443 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 443 - 0 0 0.0m - - - - - - + 455 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 455 - 0 0 0.0m - - - - - - + 456 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfsalloc 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 456 - 0 0 0.0m - - - - - - + 457 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs_mru_cache 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 457 - 0 0 0.0m - - - - - - + 458 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-buf/dm-0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 458 - 0 0 0.0m - - - - - - + 459 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-data/dm-0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 459 - 0 0 0.0m - - - - - - + 460 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-conv/dm-0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 460 - 0 0 0.0m - - - - - - + 461 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-cil/dm-0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 461 - 0 0 0.0m - - - - - - + 462 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-reclaim/dm- 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 462 - 0 0 0.0m - - - - - - + 463 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-log/dm-0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 463 - 0 0 0.0m - - - - - - + 464 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-eofblocks/d 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 464 - 0 0 0.0m - - - - - - + 465 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.81 xfsaild/dm-0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 xfsaild 4.2.284. - - - 465 - 0 0 0.0m - - - - - - + 466 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.03 kworker/0:1H 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 worker_th+ .42.a.6. - - - 466 - 0 0 0.0m - - - - - - + 544 root 20 0 38.2m 3.2m 2.9m S 0.0 0.1 0:00.22 systemd-journal 1 0 0 root 0 root 0 root 544 ? -1 544 1 0 0:00 0.0m 0.3m 0.4m 7 3534 0 ep_poll ..4.21.. 3:devices:/system.slice/systemd-journ+ - - 544 - 0 0 3.2m - - - - - - + 565 root 20 0 196.4m 4.1m 2.5m S 0.0 0.1 0:00.01 lvmetad 1 0 0 root 0 root 0 root 565 ? -1 565 1 0 0:00 0.0m 0.1m 153.5m 1 1536 0 poll_sche+ 4.4.21.. 3:devices:/system.slice/lvm2-lvmetad.+ - - 565 - 0 0 4.1m - - - - - - + 575 root 20 0 47.0m 5.1m 2.8m S 0.0 0.1 0:00.20 systemd-udevd 1 0 0 root 0 root 0 root 575 ? -1 575 1 0 0:00 0.0m 0.4m 2.4m 3 3107 0 ep_poll ..4.21.. 3:devices:/system.slice/systemd-udevd+ - - 575 - 0 0 5.1m - - - - - - + 631 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kworker/u257:0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 worker_th+ .42.a.6. - - - 631 - 0 0 0.0m - - - - - - + 635 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 hci0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 635 - 0 0 0.0m - - - - - - + 636 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 hci0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 636 - 0 0 0.0m - - - - - - + 637 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kworker/u257:1 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 worker_th+ .42.a.6. - - - 637 - 0 0 0.0m - - - - - - + 649 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-buf/sda1 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 649 - 0 0 0.0m - - - - - - + 654 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-data/sda1 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 654 - 0 0 0.0m - - - - - - + 659 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-conv/sda1 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 659 - 0 0 0.0m - - - - - - + 660 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-cil/sda1 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 660 - 0 0 0.0m - - - - - - + 665 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-reclaim/sda 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 665 - 0 0 0.0m - - - - - - + 668 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-log/sda1 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 668 - 0 0 0.0m - - - - - - + 673 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-eofblocks/s 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 rescuer_t+ .42.a.6. - - - 673 - 0 0 0.0m - - - - - - + 675 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfsaild/sda1 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 xfsaild 4.2.284. - - - 675 - 0 0 0.0m - - - - - - + 757 root 16 -4 54.2m 0.9m 0.5m S 0.0 0.0 0:00.01 auditd 1 0 0 root 0 root 0 root 757 ? -1 757 2 0 0:00 0.0m 0.1m 8.5m 0 218 0 ep_poll ..4.214. 3:devices:/system.slice/auditd.servic+ - - 757 - 0 0 0.9m - - - - - - + 784 root 20 0 56.2m 2.5m 2.1m S 0.0 0.1 0:00.01 bluetoothd 1 0 0 root 0 root 0 root 784 ? -1 784 1 0 0:00 0.0m 0.9m 0.4m 14 979 0 poll_sche+ 4.4.21.. 3:devices:/system.slice/bluetooth.ser+ - - 784 - 0 0 2.5m - - - - - - + 785 root 20 0 25.8m 1.8m 1.4m S 0.0 0.0 0:00.08 systemd-logind 1 0 0 root 0 root 0 root 785 ? -1 785 1 0 0:00 0.0m 0.6m 0.4m 4 820 0 ep_poll ..4.21.. 3:devices:/system.slice/systemd-login+ - - 785 - 0 0 1.8m - - - - - - + 788 root 20 0 51.6m 2.7m 1.9m S 0.0 0.1 0:00.02 smartd 1 0 0 root 0 root 0 root 788 ? -1 788 1 0 0:00 0.0m 0.6m 0.6m 9 1004 0 hrtimer_n+ 4.4.21.. 3:devices:/system.slice/smartd.servic+ - - 788 - 0 0 2.7m - - - - - - + 789 polkitd 20 0 598.6m 12.7m 4.8m S 0.0 0.3 0:00.11 polkitd 1 999 999 polkitd 999 polkitd 998 polkitd 789 ? -1 789 7 0 0:00 0.0m 0.1m 512.3m 48 2646 0 poll_sche+ 4.4.21.. 3:devices:/system.slice/polkit.servic+ 998 polkitd 789 - 0 0 12.7m - - - - - - + 790 dbus 20 0 64.9m 2.6m 1.8m S 0.0 0.1 0:00.21 dbus-daemon 1 81 81 dbus 81 dbus 81 dbus 790 ? -1 790 2 0 0:00 0.0m 0.2m 8.7m 2 869 0 ep_poll ..4.21.. 3:devices:/system.slice/dbus.service,+ - - 790 - 0 0 2.6m - - - - - - + 797 chrony 20 0 115.0m 1.8m 1.3m S 0.0 0.0 0:00.08 chronyd 1 998 998 chrony 998 chrony 996 chrony 796 ? -1 796 1 0 0:00 0.0m 0.2m 72.4m 3 462 0 poll_sche+ 4.4.214. 3:devices:/system.slice/chronyd.servi+ - - 797 - 0 0 1.8m - - - - - - + 838 root 20 0 123.3m 1.6m 1.0m S 0.0 0.0 0:00.50 crond 1 0 0 root 0 root 0 root 838 ? -1 838 1 0 0:00 0.0m 0.1m 1.3m 1 771 0 hrtimer_n+ 4.4.21.. 3:devices:/system.slice/crond.service+ - - 838 - 0 0 1.6m - - - - - - + 858 root 20 0 350.3m 28.8m 6.9m S 0.0 0.8 0:00.64 firewalld 1 0 0 root 0 root 0 root 858 ? -1 858 2 0 0:00 0.0m 0.0m 93.1m 64 53k 0 poll_sche+ 4.4.21.. 3:devices:/system.slice/firewalld.ser+ - - 858 - 0 0 28.8m - - - - - - + 859 root 20 0 107.5m 0.8m 0.7m S 0.0 0.0 0:00.00 agetty 1 0 0 root 0 root 0 root 859 ttyS0 859 859 1 0 0:00 0.0m 0.0m 0.3m 1 394 0 n_tty_read ..4.21.. 3:devices:/system.slice/system-serial+ - - 859 - 0 0 0.8m - - - - - - + 860 root 20 0 94.3m 2.5m 1.8m S 0.0 0.1 0:00.13 login 1 0 0 root 0 root 1000 kbrazil 860 ? -1 860 1 0 0:00 0.0m 0.0m 0.8m 9 1265 0 do_wait ..4.21.. 1:name=systemd:/user.slice/user-1000.+ 10,1000 wheel,kbrazil 860 - 0 0 2.5m - - - - - - + 883 root 20 0 813.4m 8.8m 6.7m S 0.0 0.2 0:00.28 NetworkManager 1 0 0 root 0 root 0 root 883 ? -1 883 3 0 0:00 0.0m 2.7m 561.5m 51 2944 0 poll_sche+ 4.4.21.. 3:devices:/system.slice/NetworkManage+ - - 883 - 0 0 8.8m - - - - - - + 1033 root 20 0 100.5m 5.3m 3.3m S 0.0 0.1 0:00.02 dhclient 883 0 0 root 0 root 0 root 1033 ? -1 883 1 0 0:00 0.0m 0.4m 1.7m 15 1840 0 poll_sche+ 4.4.21.. 3:devices:/system.slice/NetworkManage+ - - 1033 - 0 0 5.3m - - - - - - + 1224 root 20 0 560.7m 17.0m 6.0m S 0.0 0.5 0:00.97 tuned 1 0 0 root 0 root 0 root 1224 ? -1 1224 5 0 0:00 0.0m 0.0m 297.9m 5 9147 0 poll_sche+ 4.4.21.. 3:devices:/system.slice/tuned.service+ - - 1224 - 0 0 17.0m - - - - - - + 1225 root 20 0 565.2m 25.1m 12.9m S 0.0 0.7 0:06.57 dockerd-current 1 0 0 root 0 root 0 root 1225 ? -1 1225 9 0 0:06 0.0m 31.1m 464.2m 234 7475 0 do_wait ..4.21.. 3:devices:/system.slice/docker.servic+ - - 1225 - 0 0 25.1m - - - - - - + 1227 root 20 0 110.3m 4.2m 3.2m S 0.0 0.1 0:00.01 sshd 1 0 0 root 0 root 0 root 1227 ? -1 1227 1 0 0:00 0.0m 0.8m 0.7m 8 1323 0 poll_sche+ 4.4.21.. 3:devices:/system.slice/sshd.service,+ - - 1227 - 0 0 4.2m - - - - - - + 1228 root 20 0 213.4m 4.3m 3.3m S 0.0 0.1 0:00.65 rsyslogd 1 0 0 root 0 root 0 root 1228 ? -1 1228 3 0 0:00 0.0m 0.6m 145.3m 9 1533 0 poll_sche+ 4.4.21.. 3:devices:/system.slice/rsyslog.servi+ - - 1228 - 0 0 4.3m - - - - - - + 1272 root 20 0 280.5m 10.9m 5.1m S 0.0 0.3 0:03.09 docker-containe 1225 0 0 root 0 root 0 root 1272 ? -1 1272 8 0 0:03 0.0m 6.5m 255.8m 46 3932 0 futex_wai+ 4.4.21.. 3:devices:/system.slice/docker.servic+ - - 1272 - 0 0 10.9m - - - - - - + 1501 root 20 0 87.6m 2.1m 1.1m S 0.0 0.1 0:00.04 master 1 0 0 root 0 root 0 root 1501 ? -1 1501 1 0 0:00 0.0m 0.2m 0.8m 0 423 0 ep_poll ..4.214. 3:devices:/system.slice/postfix.servi+ 0 root 1501 - 0 0 2.1m - - - - - - + 1511 postfix 20 0 87.7m 4.0m 3.0m S 0.0 0.1 0:00.01 pickup 1501 89 89 postfix 89 postfix 89 postfix 1501 ? -1 1501 1 0 0:00 0.0m 0.3m 0.8m 1 1166 0 ep_poll ..4.21.. 3:devices:/system.slice/postfix.servi+ 12,89 mail,postfix 1511 - 0 0 4.0m - - - - - - + 1512 postfix 20 0 87.8m 4.0m 3.0m S 0.0 0.1 0:00.01 qmgr 1501 89 89 postfix 89 postfix 89 postfix 1501 ? -1 1501 1 0 0:00 0.0m 0.3m 0.8m 1 1195 0 ep_poll ..4.21.. 3:devices:/system.slice/postfix.servi+ 12,89 mail,postfix 1512 - 0 0 4.0m - - - - - - + 1859 kbrazil 20 0 113.0m 2.3m 1.5m S 0.0 0.1 0:00.01 bash 860 1000 1000 kbrazil 1000 kbrazil 1000 kbrazil 1859 tty1 1859 1859 1 0 0:00 0.0m 0.9m 0.7m 1 1226 0 n_tty_read ..4.21.. 1:name=systemd:/user.slice/user-1000.+ 10,1000 wheel,kbrazil 1859 HOME=/home/kbrazil USER=kbrazil SHELL+ 0 0 2.3m 4026531839 4026531840 4026531956 4026531836 4026531837 4026531838 + 1879 root 20 0 155.2m 5.6m 4.3m S 0.0 0.1 0:00.16 sshd 1227 0 0 root 0 root 0 root 1879 ? -1 1879 1 0 0:00 0.0m 0.8m 0.9m 0 1849 0 poll_sche+ 4.4.21.. 1:name=systemd:/user.slice/user-1000.+ - - 1879 - 0 0 5.6m - - - - - - + 1883 kbrazil 20 0 155.2m 2.4m 1.1m S 0.0 0.1 0:01.29 sshd 1879 1000 1000 kbrazil 1000 kbrazil 1000 kbrazil 1879 ? -1 1879 1 0 0:01 0.0m 0.8m 0.9m 0 362 0 poll_sche+ 4.4.214. 1:name=systemd:/user.slice/user-1000.+ 10,1000 wheel,kbrazil 1883 - 0 0 2.4m - - - - - - + 1884 kbrazil 20 0 112.9m 2.2m 1.6m S 0.0 0.1 0:00.07 bash 1883 1000 1000 kbrazil 1000 kbrazil 1000 kbrazil 1884 pts/0 2225 1884 1 0 0:00 0.0m 0.9m 0.6m 0 2593 0 do_wait ..4.2... 1:name=systemd:/user.slice/user-1000.+ 10,1000 wheel,kbrazil 1884 LANG=en_US.UTF-8 USER=kbrazil LOGNAME+ 0 0 2.2m 4026531839 4026531840 4026531956 4026531836 4026531837 4026531838 + 2019 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.11 kworker/u256:0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 worker_th+ .42.a.6. - - - 2019 - 0 0 0.0m - - - - - - + 2117 root 20 0 122.4m 1.1m 0.9m S 0.0 0.0 0:00.00 anacron 1 0 0 root 0 root 0 root 2117 ? -1 2117 1 0 0:00 0.0m 0.0m 0.4m 0 281 0 sigsuspend ..4.2.4. 1:name=systemd:/user.slice/user-0.sli+ 0 root 2117 - 0 0 1.1m - - - - - - + 2139 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.36 kworker/0:2 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 worker_th+ .42.a.6. - - - 2139 - 0 0 0.0m - - - - - - + 2197 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.01 kworker/0:3 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 worker_th+ .42.a.6. - - - 2197 - 0 0 0.0m - - - - - - + 2205 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.01 kworker/0:0 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 worker_th+ .42.a.6. - - - 2205 - 0 0 0.0m - - - - - - + 2213 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kworker/0:1 2 0 0 root 0 root 0 root 0 ? -1 0 1 0 0:00 0.0m 0.0m 0.0m 0 0 0 worker_th+ .42.a.6. - - - 2213 - 0 0 0.0m - - - - - - diff --git a/tests/fixtures/centos-7.7/top-b-n1-gib.out b/tests/fixtures/centos-7.7/top-b-n1-gib.out new file mode 100644 index 00000000..5da49bc3 --- /dev/null +++ b/tests/fixtures/centos-7.7/top-b-n1-gib.out @@ -0,0 +1,115 @@ +top - 11:10:47 up 1:08, 2 users, load average: 0.00, 0.01, 0.05 +Tasks: 108 total, 2 running, 106 sleeping, 0 stopped, 0 zombie +%Cpu(s): 5.9 us, 5.9 sy, 0.0 ni, 88.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st +GiB Mem : 3.7 total, 3.3 free, 0.2 used, 0.2 buff/cache +GiB Swap: 2.0 total, 2.0 free, 0.0 used. 3.3 avail Mem + + PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND + 1 root 20 0 125.1m 6.5m 4.1m S 0.0 0.2 0:01.47 systemd + 2 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kthreadd + 4 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kworker/0:0H + 6 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.10 ksoftirqd/0 + 7 root rt 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 migration/0 + 8 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 rcu_bh + 9 root 20 0 0.0m 0.0m 0.0m R 0.0 0.0 0:00.49 rcu_sched + 10 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 lru-add-drain + 11 root rt 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.07 watchdog/0 + 13 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kdevtmpfs + 14 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 netns + 15 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 khungtaskd + 16 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 writeback + 17 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kintegrityd + 18 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset + 19 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset + 20 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset + 21 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kblockd + 22 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 md + 23 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 edac-poller + 24 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 watchdogd + 30 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kswapd0 + 31 root 25 5 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 ksmd + 32 root 39 19 0.0m 0.0m 0.0m S 0.0 0.0 0:00.02 khugepaged + 33 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 crypto + 41 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kthrotld + 43 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kmpath_rdacd + 44 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kaluad + 45 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kpsmoused + 47 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 ipv6_addrconf + 60 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 deferwq + 95 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kauditd + 272 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 nfit + 273 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 mpt_poll_0 + 274 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 mpt/0 + 275 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 ata_sff + 321 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 scsi_eh_0 + 326 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 scsi_tmf_0 + 345 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.01 scsi_eh_1 + 346 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 scsi_tmf_1 + 347 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.01 scsi_eh_2 + 350 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 scsi_tmf_2 + 356 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kworker/u256:4 + 359 root -51 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.02 irq/16-vmwgfx + 360 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 ttm_swap + 431 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kdmflush + 432 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset + 442 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kdmflush + 443 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset + 455 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 bioset + 456 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfsalloc + 457 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs_mru_cache + 458 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-buf/dm-0 + 459 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-data/dm-0 + 460 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-conv/dm-0 + 461 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-cil/dm-0 + 462 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-reclaim/dm- + 463 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-log/dm-0 + 464 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-eofblocks/d + 465 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.61 xfsaild/dm-0 + 466 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.03 kworker/0:1H + 544 root 20 0 38.2m 3.2m 2.9m S 0.0 0.1 0:00.22 systemd-journal + 565 root 20 0 196.4m 4.1m 2.5m S 0.0 0.1 0:00.01 lvmetad + 575 root 20 0 47.0m 5.1m 2.8m S 0.0 0.1 0:00.20 systemd-udevd + 631 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kworker/u257:0 + 635 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 hci0 + 636 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 hci0 + 637 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kworker/u257:1 + 649 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-buf/sda1 + 654 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-data/sda1 + 659 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-conv/sda1 + 660 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-cil/sda1 + 665 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-reclaim/sda + 668 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-log/sda1 + 673 root 0 -20 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfs-eofblocks/s + 675 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 xfsaild/sda1 + 757 root 16 -4 54.2m 0.9m 0.5m S 0.0 0.0 0:00.01 auditd + 784 root 20 0 56.2m 2.5m 2.1m S 0.0 0.1 0:00.01 bluetoothd + 785 root 20 0 25.8m 1.8m 1.4m S 0.0 0.0 0:00.08 systemd-logind + 788 root 20 0 51.6m 2.7m 1.9m S 0.0 0.1 0:00.02 smartd + 789 polkitd 20 0 598.6m 12.7m 4.8m S 0.0 0.3 0:00.11 polkitd + 790 dbus 20 0 64.9m 2.6m 1.8m S 0.0 0.1 0:00.20 dbus-daemon + 797 chrony 20 0 115.0m 1.7m 1.3m S 0.0 0.0 0:00.08 chronyd + 838 root 20 0 123.3m 1.6m 1.0m S 0.0 0.0 0:00.49 crond + 858 root 20 0 350.3m 28.8m 6.9m S 0.0 0.8 0:00.64 firewalld + 859 root 20 0 107.5m 0.8m 0.7m S 0.0 0.0 0:00.00 agetty + 860 root 20 0 94.3m 2.5m 1.8m S 0.0 0.1 0:00.13 login + 883 root 20 0 813.4m 8.8m 6.7m S 0.0 0.2 0:00.27 NetworkManager + 1033 root 20 0 100.5m 5.3m 3.3m S 0.0 0.1 0:00.02 dhclient + 1224 root 20 0 560.7m 17.0m 6.0m S 0.0 0.5 0:00.86 tuned + 1225 root 20 0 565.2m 25.1m 12.9m S 0.0 0.7 0:05.79 dockerd-current + 1227 root 20 0 110.3m 4.2m 3.2m S 0.0 0.1 0:00.01 sshd + 1228 root 20 0 213.4m 4.3m 3.3m S 0.0 0.1 0:00.58 rsyslogd + 1272 root 20 0 280.5m 10.9m 5.1m S 0.0 0.3 0:02.70 docker-containe + 1501 root 20 0 87.6m 2.1m 1.1m S 0.0 0.1 0:00.03 master + 1511 postfix 20 0 87.7m 4.0m 3.0m S 0.0 0.1 0:00.01 pickup + 1512 postfix 20 0 87.8m 4.0m 3.0m S 0.0 0.1 0:00.01 qmgr + 1859 kbrazil 20 0 113.0m 2.3m 1.5m S 0.0 0.1 0:00.01 bash + 1879 root 20 0 155.2m 5.6m 4.3m S 0.0 0.1 0:00.16 sshd + 1883 kbrazil 20 0 155.2m 2.4m 1.1m S 0.0 0.1 0:00.99 sshd + 1884 kbrazil 20 0 112.9m 2.1m 1.6m S 0.0 0.1 0:00.03 bash + 1984 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.59 kworker/0:1 + 2019 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.07 kworker/u256:0 + 2080 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.01 kworker/0:0 + 2117 root 20 0 122.4m 1.1m 0.9m S 0.0 0.0 0:00.00 anacron + 2139 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.03 kworker/0:2 + 2197 root 20 0 0.0m 0.0m 0.0m S 0.0 0.0 0:00.00 kworker/0:3 + 2198 kbrazil 20 0 158.1m 2.0m 1.5m R 0.0 0.1 0:00.01 top