2009年3月20日星期五

Unix常用监控和管理命令

ps:查看系统中的进程,Linux中可以使用ps -aux查看所有进程
参数w表示加宽显示的命令行,参数w可以写多次,通常最多写3次,表示加宽3次,这足以显示很长的命令行了。
例如:ps -auxwww

top:显示系统内存、cpu使用情况,并可自动刷新进程列表

vmstat:显示当前的内存使用情况

netstat:显示网络状况,使用参数p可以查看对应的进程号及程序名,
通常使用参数a(显示所有连接情况)和n(不反查域名和服务名),
例如:netstat -anp

查看服务器侦听情况,使用:
netstat -an | grep LISTEN

查看服务器已建立的连接,使用:
netstat -an | grep ESTABLISHED

ifconfig:查看(或设置)网络设备信息
ifconfig -a:查看所有网络设置信息

last:显示登录到服务器的情况以及服务器重启情况

df:显示硬盘空间及使用情况,Linux下可以带参数h,显示结果更人性化。例如:
df -h 硬盘空间按人性化显示
df -k 硬盘空间按KB显示
df -m 硬盘空间按MB显示

w:显示登录到服务器上的用户列表

以下几个命令仅针对Linux

lsof:显示当前打开的文件列表,包括建立的socket连接等。本命令可以用于程序员检查编写的程序打开的文件数。

sysctl:显示(或设置)系统内核参数
sysctl -a 显示所有内核参数
sysctl -w 参数名=参数值
例如:sysctl -w fs.file-max=10240 设置系统允许同时打开的最大文件数为10240。

内核参数fs.file-nr包括三个参数值,第一个参数表示系统中曾经同时打开过的文件数峰值,
第二个参数表示空闲(分配后已释放)的文件数,
第三个参数表示可以打开的最大文件数,其值等于fs.file-max。

当前打开的文件数 = 第一个参数值 - 第二个参数值

例如:
fs.file-nr = 977 223 10240
当前打开的文件数 = 977 - 233 = 744

设置内核参数时务必小心,如果设置不当会导致系统异常,甚至当机。

ulimit:显示(或设置)用户可以使用的资源限制

ulimit -a 显示用户可以使用的资源限制

ulimit unlimited
不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)
和可同时运行的最大进程数(max user processes)无效

ulimit -n <可以同时打开的文件数> 设置用户可以同时打开的最大文件数(max
open files)
例如:ulimit -n 8192
如果本参数设置过小,对于并发访问量大的网站,可能会出现too many open
files的错误

ulimit -u <可以运行的最大并发进程数>
设置用户可以同时运行的最大进程数(max user processes)
例如:ulimit -u 1024

没有评论: