BLOG

Record, summarize, and improve.

linux tools

sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。

sar是查看操作系统报告指标的各种工具中,最为普遍和方便的;它有两种用法;

  1. 追溯过去的统计数据(默认)
  2. 周期性的查看当前数据

kSar根据sar数据绘制图形

lsof(list open files)是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

pstack命令可显示每个进程的栈跟踪

ipcs是Linux下显示进程间通信设施状态的工具。可以显示消息队列、共享内存和信号量的信息。

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可实时动态监视操作系统的虚拟内存、进程、CPU活动。

iostat是I/O statistics(输入/输出统计)的缩写,用来动态监视系统的磁盘操作活动

taskset将进程绑定到指定CPU,确保进程不在处理器之间跳跃,导致缓存刷新。

pmap命令查看分配给特定进程的内存量

ulimit 允许此类控制的系统上可用于 shell 和由它启动的进程

apmd 高级电源管理守护进程。apmd 通常不会在服务器上使用。

arptables_jf arptables 网络过滤器的用户空间程序。除非你打算使用 arptables,您可以安全地禁用此守护程序。

autofs 按需自动挂载文件系统(例如挂载CD-ROM自动地)。在服务器系统上,很少需要挂载文件系统自动地。

cpuspeed 守护进程动态调整 CPU 的频率。在服务器环境中,这建议关闭守护进程。

cups 通用 UNIX 打印系统。如果您计划为您的服务器提供打印服务,不要禁用此服务。

gpm 汽车文本控制台的鼠标服务器。如果您想要鼠标支持,请不要禁用本地文本控制台。

hpoj HP OfficeJet 支持。如果您计划将 HP OfficeJet 打印机与您的打印机一起使用,请不要禁用服务器。

irqbalance 平衡多个处理器之间的中断。您可以安全地禁用此守护程序在单个 CPU 系统上,或者如果您打算静态平衡 IRQ。

isdn 调制解调器支持。如果您计划将 ISDN 调制解调器与您的设备一起使用,请不要禁用服务器。

kudzu 检测和配置新硬件。如果是硬件,应该手动运行改变。

netfs 用于支持导出 NFS 共享。如果您计划提供 NFS,请不要禁用与您的服务器共享。

nfslock 用于通过 NFS 锁定文件。如果您计划提供 NFS 共享,请不要禁用你的服务器。

pcmcia 服务器上的 PCMCIA 支持。服务器系统很少依赖 PCMCIA 适配器,因此在大多数情况下,禁用此守护程序是安全的。

portmap RPC 服务(例如 NIS 和 NFS)的动态端口分配。如果系统这样做不提供基于 RPC 的服务就不需要这个守护进程。

rawdevices 提供对原始设备绑定的支持。如果您不打算使用原始设备,您可以安全地关闭它。

rpc* 主要用于 NFS 和 Samba 的各种远程过程调用守护进程。如果系统不提供基于 RPC 的服务,所以不需要这个守护进程。

sendmail 邮件传输代理。如果您打算提供邮件服务,请不要禁用此守护程序与相应的系统。

smartd 自我监控和报告技术守护进程,可观看 SMART 兼容错误的设备。除非您使用基于 IDE/SATA 技术的磁盘子系统,不需要智能监控。

xfs X Windows 的字体服务器。如果您将在运行级别 5 中运行,请不要禁用此守护程序。

This is the strace command used to trace a basic program:
strace /bin/ls -o ls.out
The strace command used to attach to an existing process is as follows:
strace -p <pid> -o daemon.out
If you want to see all of the data that was being read into file descriptor 3, you can run the following command:
strace -e read=3 /bin/ls
You may also use -e write=fd to see written data. The strace tool is a great little tool, and you will undoubtedly find many reasons to use it.

ltrace <program> -o program.out

ftrace