linux中ps和df命令详解

linuxPS命令

linux上进程有5种状态:
1.
运行(正在运行或在运行队列中等待)
2.
中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3.
不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4.
僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5.
停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

ps
工具标识进程的5种状态码:
D
不可中断 uninterruptible sleep (usually IO)
R
运行 runnable (on run queue)
S
中断 sleeping
T
停止 traced or stopped
Z
僵死 a defunct (”zombie”) process

名称:ps
使用权限:所有使用者
使用方式:ps [options] [--help]
说明:显示瞬间行程 (process) 的动态
参数:
ps
的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A
列出所有的行程
-w
显示加宽可以显示较多的资讯
-au
显示较详细的资讯
-aux
显示所有包含其他使用者的行程

au(x)
输出格式 :

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER:
行程拥有者
PID: pid
%CPU:
占用的 CPU 使用率
%MEM:
占用的记忆体使用率
VSZ:
占用的虚拟记忆体大小
RSS:
占用的记忆体大小
TTY:
终端的次要装置号码 (minor device number of tty)
STAT:
该行程的状态:
D:
不可中断的静止
R:
正在执行中
S:
静止状态
T:
暂停执行
Z:
不存在但暂时无法消除
W:
没有足够的记忆体分页可分配
<:
高优先序的行程
N:
低优先序的行程
L:
有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)
START:
行程开始时间
TIME:
执行的时间
COMMAND:
所执行的指令

范例:

ps
PID TTY TIME CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kflushd
3 ? 00:00:00 kpiod
4 ? 00:00:00 kswapd
5 ? 00:00:00 mdrecoveryd
.......
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]

具体命令解释如下:
  1ps a 显示现行终端机下的所有程序,包括其他用户的程序。

  2ps -A 显示所有程序。

  3ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

  4ps -e 此参数的效果和指定"A"参数相同。

  5ps e 列出程序时,显示每个程序所使用的环境变量。

  6ps f ASCII字符显示树状结构,表达程序间的相互关系。

  7ps -H 显示树状结构,表示程序间的相互关系。

  8ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。

  9ps s 采用程序信号的格式显示程序状况。

  10ps S 列出程序时,包括已中断的子程序资料。

  11ps -t<终端机编号>

  指定终端机编号,并列出属于该终端机的程序的状况。

  12ps u

  以用户为主的格式来显示程序状况。

  13ps x

  显示所有程序,不以终端机来区分。

  最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

 

 

 

 

linux df命令参数详解

linuxdf命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:df [选项]

说明:linuxdf命令可显示所有文件系统对i节点和磁盘块的使用情况。

该命令各个选项的含义如下:

扫描二维码关注公众号,回复: 1409730 查看本文章

-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

-k k字节为单位显示。

-i 显示i节点信息,而不是磁盘块。

-t 显示各指定类型的文件系统的磁盘空间使用情况。

-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

-T 显示文件系统类型。

功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

 

1:列出各文件系统的磁盘空间使用情况。

$ df

Filesystem 1 Kblocks Used Available Use% Mounted on

/dev/hda2 1361587 1246406 44823 97 /

linuxdf命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第34列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第34列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的安装点。

2:列出各文件系统的i节点使用情况。

$ df -ia

Filesystem Inodes IUsed IFree Iused% Mounted on

/dev/ hda2 352256 75043 277213 21 /

none 0 0 0 0 /proc

localhost:pid221 0 0 0 0 /net

3:列出文件系统的类型。

$ df -T

Filesystem Type 1Kblocks Used Available use% Mounted on

/dev/hda2 ext2 1361587 1246405 44824 97% /

本例中的文件系统是ext2类型的

[root@rac1 ~]# df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sda1 3020140 2333952 532772 82% /

none 213320 0 213320 0% /dev/shm

/dev/sda2 4633108 1818088 2579668 42% /u01

/dev/sde1 524272 81104 443168 16% /ocfs

该条命令显示了服务器上所有分区的使用情况。它还包括了几个有用的参数来帮助格式化输出:

-a显示系统所有的分区,在平常默认情况下 不显示0块的分区

[root@rac1 ~]# df -a

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sda1 3020140 2333952 532772 82% /

none 0 0 0 - /proc

none 0 0 0 - /sys

none 0 0 0 - /dev/pts

none 213320 0 213320 0% /dev/shm

/dev/sda2 4633108 1818096 2579660 42% /u01

none 0 0 0 - /proc/sys/fs/binfmt_misc

sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs

configfs 0 0 0 - /config

ocfs2_dlmfs 0 0 0 - /dlm

/dev/sde1 524272 81104 443168 16% /ocfs

oracleasmfs 0 0 0 - /dev/oracleasm

-h更具目前磁盘空间和使用情况 以更易读的方式显示

[root@rac1 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 2.9G 2.3G 521M 82% /

none 209M 0 209M 0% /dev/shm

/dev/sda2 4.5G 1.8G 2.5G 42% /u01

/dev/sde1 512M 80M 433M 16% /ocfs

-H根上面的-h参数相同,不过在根式化的时候,采用1000而不是1024进行容量转换

[root@rac1 ~]# df -H

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 3.1G 2.4G 546M 82% /

none 219M 0 219M 0% /dev/shm

/dev/sda2 4.8G 1.9G 2.7G 42% /u01

/dev/sde1 537M 84M 454M 16% /ocfs

-k以单位显示磁盘的使用情况

[root@rac1 ~]# df -k

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sda1 3020140 2333952 532772 82% /

none 213320 0 213320 0% /dev/shm

/dev/sda2 4633108 1818152 2579604 42% /u01

/dev/sde1 524272 81104 443168 16% /ocfs

-l显示本地的分区的磁盘空间使用率,如果服务器nfs了远程服务器的磁盘,那么在df上加上-l后系统显示的是过滤nsf驱动器后的结果

-i显示inode的使用情况。linux采用了类似指针的方式管理磁盘空间影射.这也是一个比较关键应用。

猜你喜欢

转载自topmanopensource.iteye.com/blog/804983