如果你的应用程序在占用过多的内存,你就会遇到频繁被换出内存(page-out)的情况 ——即程序从内存进入到系统硬驱上的交换空间。你的服务器可能会进入到这个 阶段:花在管理内存分页上的时间比花在运行应用程序上的时间还多——这种情 况被称为抖动(thrashing)。当你的电脑抖动时,性能就一落千丈。Vmstat可以显示平均 的数据或实际样本,可以帮助你发觉大量耗用内存的程序和进程,以免它们导致服务器运行 起来如同蜗牛缓行。
Wireshark
Wireshark之前名为Ethereal(而且现在仍经常这么叫),是tcpdump的同类工具,不过 它更为高级,拥有先进得多的协议分析和报告功能。Wireshark既有GUI界面,又有外壳界面 。如果你从事专业级的网络管理工作,只能使用ethereal.而如果你在使用 Wireshark/ethereal,我强烈建议阅读Chris Sander所着的《实用数据包分析》 (Practical Packet Analysis),该书深入浅出地介绍了如何最充分地利用这款实用程序 。
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各 分区使用情况
# du -sh # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看 系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时 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 | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包