Edited at

【Linux】psコマンド

毎回オプションを忘れてしまう、同じものしか使ってないので覚書


出来事

Oracle Exadataを使用しているが、Oracle Linux uek4.x で発生する mellanoxドライバの不具合での再起動する予兆を検知するために psコマンドを使用したので、その時のメモ

Oracle Exadataでは Oracle.Exawatcherが動いているが、そこで取得している psコマンドのオプションは『-elf』

[root@host ~]# ps -elf

F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 32068 ep_pol 6月30 ? 00:15:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
1 S root 2 0 0 80 0 - 0 kthrea 6月30 ? 00:00:04 [kthreadd]
1 I root 4 2 0 60 -20 - 0 worker 6月30 ? 00:00:00 [kworker/0:0H]

いつも psコマンドで確認する時に使用していたオプションは『-ef』もしくは『aux』でした。

とくに、これって理由がなかったけど昔教えられたままだったので改めて、ステータスとか見れるから『ef』だけよりいいかなと思った。

[root@host ~]#  ps -ef

UID PID PPID C STIME TTY TIME CMD
root 1 0 0 6月30 ? 00:15:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 6月30 ? 00:00:04 [kthreadd]
root 4 2 0 6月30 ? 00:00:00 [kworker/0:0H]

[root@host ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 128272 6588 ? Ss 6月30 15:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S 6月30 0:04 [kthreadd]
root 4 0.0 0.0 0 0 ? I< 6月30 0:00 [kworker/0:0H]

オプション
説明

a
全てのプロセスの集合に対して課される。このオプションを指定すると、psは端末(tty)を持つ全てのプロセスをリストする。また xオプションと共に指定すると、全てのプロセスをリストする。

-e
全てのプロセスを選択する。

x
psは呼び出したユーザの所有する(psと同じ EUIDの)全てのプロセスをリストする。また aオプションと共に指定すると、全てのプロセスをリストする

-f
完全なフォーマットでリストする。

-l
長いフォーマット。-yオプションは、このオプションと組み合わせることで、しばしば役立つ。

u
ユーザ指向のフォーマット

-y

[root@host ~]# ps -elfy

S UID PID PPID C PRI NI RSS SZ WCHAN STIME TTY TIME CMD
S root 1 0 0 80 0 6588 32068 ep_pol 6月30 ? 00:15:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
S root 2 0 0 80 0 0 0 kthrea 6月30 ? 00:00:04 [kthreadd]
I root 4 2 0 60 -20 0 0 worker 6月30 ? 00:00:00 [kworker/0:0H]