Linux中查看系统资源占用情况的命令

用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap是否被占用很多,用 iostat 看看 I/O 负载情况...

还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多。

======================================

top

主要参数

d:指定更新的间隔,以秒计算。

q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。

c:显示进程完整的路径与名称。

S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。

s:安全模式。

i:不显示任何闲置(Idle)或无用(Zombie)的行程。

n:显示更新的次数,完成后将会退出to

显示参数:

PID(ProcessID):进程标示号。

USER:进程所有者的用户名。

PR:进程的优先级别。

NI:进程的优先级别数值。

VIRT:进程占用的虚拟内存值。

RES:进程占用的物理内存值。

SHR:进程使用的共享内存值。

S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

%CPU:该进程占用的CPU使用率。

%MEM:该进程占用的物理内存和总内存的百分比。

TIME+:该进程启动后占用的总的CPU时间。

Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

<空格>:立刻刷新。

P:根据CPU使用大小进行排序。

T:根据时间、累计时间排序。

q:退出top命令。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据使用内存大小进行排序。

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

======================================

free

1.作用

free命令用来显示内存的使用情况,使用权限是所有用户。

2.格式

free[-b-k-m][-o][-sdelay][-t][-V]

3.主要参数

-b-k-m:分别以字节(KB、MB)为单位显示内存使用情况。

-sdelay:显示每隔多少秒数来显示一次内存使用情况。

-t:显示内存总和列。

-o:不显示缓冲区调节列。

======================================

uptime

18:59:15up25min,2users,loadaverage:1.23,1.32,1.21

现在的时间/系统开机运转到现在经过的时间/连线的使用者数量/最近一分钟,五分钟和十五分钟的系统负载

参数: -V 显示版本资讯。

======================================

vmstat

procs-----------memory-------------swap-------io------system-------cpu------

rbswpdfreebuffcachesisobiboincsussyidwast

0016862918889012685670852000911119800

1观察磁盘活动情况

磁盘活动情况主要从以下几个指标了解:

bi:表示从磁盘每秒读取的块数(blocks/s)。数字越大,表示读磁盘的活动越多。

bo:表示每秒写到磁盘的块数(blocks/s)。数字越大,表示写磁盘的活动越多。

wa:cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越大,表示文件系统活动阻碍cpu的情况越严重,因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常大于10,可能文件系统就需要进行性能调整了。

2观察cpu活动情况

vmstat比top更能反映出cpu的使用情况:

us:用户程序使用cpu的时间比例。这个数字越大,表示用户进程越繁忙。

sy:系统调用使用cpu的时间比例。注意,NFS由于是在内核里面运行的,所以NFS活动所占用的cpu时间反映在sy里面。这个数字经常很大的话,就需要注意是否某个内核进程,比如NFS任务比较繁重。如果us和sy同时都比较大的话,就需要考虑将某些用户程序分离到另外的服务器上面,以免互相影响。

id:cpu空闲的时间比例。

wa:cpu等待未决的磁盘IO的时间比例。

iostat

用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量

参数:

-c只显示CPU行

-d显示磁盘行

-k以千字节为单位显示磁盘输出

-t在输出中包括时间戳

-x在输出中包括扩展的磁盘指标

avg-cpu:%user%nice%sys%iowait%idle

20.250.182.6176.390.57

%iowait等待本地I/O时CPU空闲时间的百分比

%idle未等待本地I/O时CPU空闲时间的百分比

Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn

hda9.86284.3484.486854072036

每秒传输数(tps)、每秒512字节块读取数(Blk_read/s)、每秒512字节块写入数(Blk_wrtn/s)和512字节块读取(Blk_read)和写入(Blk_wrtn)的总数量。

======================================

系统

#uname-a#查看内核/操作系统/CPU信息

#head-n1/etc/issue#查看操作系统版本

#cat/proc/cpuinfo#查看CPU信息

#hostname#查看计算机名

#lspci-tv#列出所有PCI设备

#lsusb-tv#列出所有USB设备

#lsmod#列出加载的内核模块

# env # 查看环境变量

======================================

资源

#free-m#查看内存使用量和交换区使用量

#df-h#查看各分区使用情况

#du-sh#查看指定目录的大小

#grepMemTotal/proc/meminfo#查看内存总量

#grepMemFree/proc/meminfo#查看空闲内存量

#uptime#查看系统运行时间、用户数、负载

#cat/proc/loadavg#查看系统负载

======================================

磁盘和分区

#mount|column-t#查看挂接的分区状态

#fdisk-l#查看所有分区

#swapon-s#查看所有交换分区

#hdparm-i/dev/hda#查看磁盘参数(仅适用于IDE设备)

#dmesg|grepIDE#查看启动时IDE设备检测状况

======================================

网络

#ifconfig#查看所有网络接口的属性

#iptables-L#查看防火墙设置

#route-n#查看路由表

#netstat-lntp#查看所有监听端口

#netstat-antp#查看所有已经建立的连接

#netstat-s#查看网络统计信息

======================================

进程

#ps-ef#查看所有进程

#top#实时显示进程状态

======================================

用户

#w#查看活动用户

#id#查看指定用户信息

#last#查看用户登录日志

#cut-d:-f1/etc/passwd#查看系统所有用户

#cut-d:-f1/etc/group#查看系统所有组

#crontab-l#查看当前用户的计划任务

======================================

服务

#chkconfig--list#列出所有系统服务

#chkconfig--list|grepon#列出所有启动的系统服务

======================================

程序

#rpm-qa#查看所有安装的软件

相关推荐