Linux系统出现问题时,我们不仅需要查看系统日志信息,
1、uptime
uptime命令用于查看服务器运行了多长时间以及有多少个用户
uptime的输出包含一项内容是load average,显示了最近1,5,15分钟的负荷情况。
load average的最佳值是1, 也可以使用uptime命令来判断网络性能。例如, 以下是uptime的运行实例: 9:24am 也可以查看/proc/loadavg和/proc/ liyawei:~ # cat /proc/loadavg 0.00 0.00 0.00 1/55 5505 2、dmesg
dmesg命令主要用来显示内核信息。
另外,使用dmesg可以确定您的服务器安装了那些硬件。 dmesg输入实例: ReiserFS: hda6: checking transaction log (hda6) ReiserFS: hda6: Using r5 hash to sort names Adding 1044184k swap on /dev/hda5. parport_pc: VIA 686A/8231 detected parport_pc: probing current configuration parport_pc: Current parallel port base: 0x378 parport0: PC-style at 0x378 (0x778), irq 7, using FIFO [PCSPP,TRISTATE,COMPAT,ECP] parport_pc: VIA parallel port: io=0x378, irq=7 lp0: using parport0 (interrupt-driven). e100: Intel(R) PRO/100 Network Driver, 3.5.10-k2-NAPI e100: Copyright(c) 1999-2005 Intel Corporation ACPI: PCI Interrupt 0000:00:0d.0[A] -> GSI 17 (level, low) -> IRQ 169 e100: eth0: e100_probe: addr 0xd8042000, irq 169, MAC addr 00:02:55:1E:35:91 usbcore: registered new driver usbfs usbcore: registered new driver hub hdc: ATAPI 48X CD-ROM drive, 128kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 USB Universal Host Controller Interface driver v2.3 3、top
top命令显示处理器的活动状况。缺省情况下,
Process priority的数值决定了CPU处理进程的顺序。 Linux 支持的 nice levels 由19 (优先级低)到-20 (优先级高),缺省值为0。 执行/bin/ps命令可以查看到当前进程的情况。 4、iostat
iostat由Red Hat Enterprise Linux AS发布。同时iostat也是Sysstat的一部分,
执行iostat命令可以从系统启动之后的CPU平均时间, iostat显示实例: avg-cpu: 0.16
Device:
hda
avg-cpu:
1.00
Device:
hda
avg-cpu:
0.00
Device:
hda CPU占用情况包括四块内容 %user:显示user level (applications)时,CPU的占用情况。 %nice:显示user level在nice priority时,CPU的占用情况。 %sys:显示system level (kernel)时,CPU的占用情况。 %idle: 显示CPU空闲时间所占比例。
磁盘使用报告分成以下几个部分:
Device: 块设备的名字 tps: 该设备每秒I/O传输的次数。多个I/O请求可以组合为一个, Blk_read/s, Blk_wrtn/s: 表示从该设备每秒读写的数据块数量。块的大小可以不同,
例如,执行下列命令获得设备/dev/sda1 的数据块大小:
dumpe2fs -h /dev/sda1 |grep -F "Block size"
输出结果如下
dumpe2fs 1.34 (25-Jul-2003) Block size: 1024
Blk_read, Blk_wrtn: 指示自从系统启动之后数据块读/写的合计数。
也可以查看这几个文件/proc/stat,/proc/ 5、vmstat
vmstat提供了processes, memory, paging, block I/O, traps和CPU的活动状况
procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------ r 1 0 0 0 0 各输出列的含义: Process – r: The number of processes waiting for runtime. – b: The number of processes in uninterruptable sleep. Memory – swpd: The amount of virtual memory used (KB). – free: The amount of idle memory (KB). – buff: The amount of memory used as buffers (KB). Swap – si: Amount of memory swapped from the disk (KBps). – so: Amount of memory swapped to the disk (KBps). IO – bi: Blocks sent to a block device (blocks/s). – bo: Blocks received from a block device (blocks/s). System – in: The number of interrupts per second, including the clock. – cs: The number of context switches per second. CPU (these are percentages of total CPU time) - us: Time spent running non-kernel code (user time, including nice time). – sy: Time spent running kernel code (system time). – id: Time spent idle. Prior to Linux 2.5.41, this included IO-wait time. – wa: Time spent waiting for IO. Prior to Linux 2.5.41, this appeared as zero. 6、sar
sar是Red Hat Enterprise Linux AS发行的一个工具,同时也是Sysstat工具集的命令之一,
sar用于收集、报告或者保存系统活动信息。 使用sar1和sar2,系统能够配置成自动抓取信息和日志, 同样的,你也可以在命令行方式下使用sar运行实时报告。 从收集的信息中,可以得到详细的CPU使用情况(%user, %nice, %system, %idle)、内存页面调度、网络I/O、进程活动、 liyawei:~ # sar -u 3 10 Linux 2.6.16.21-0.8-default (liyawei)
10:17:16
10:17:19 10:17:22 10:17:25 10:17:28 10:17:31 10:17:34 7、KDE System Guard
KDE System Guard (KSysguard) 是KDE图形方式的任务管理和性能监视工具。
8、free
/bin/free命令显示所有空闲的和使用的内存数量,
total Mem: -/+ buffers/cache: Swap: 9、Traffic-vis
Traffic-vis是一套测定哪些主机在IP网进行通信、
注:Traffic-vis仅仅适用于SUSE LINUX ENTERPRISE SERVER。
如下命令用来收集网口eth0的信息:
traffic-collector -i eth0 -s /root/output_traffic-collector 可以使用killall命令来控制该进程。 killall -9 traffic-collector 要停止对信息的收集,执行如下命令:killall -9 traffic-collector
注意,不要忘记执行最后一条命令,
可以根据packets, bytes, TCP连接数对输出进行排序,根据每项的总数或者收/
例如根据主机上packets的收/发数量排序,执行命令: traffic-sort -i output_traffic-collector -o output_traffic-sort -Hp
如要生成HTML格式的报告,显示传输的字节数,
traffic-tohtml -i output_traffic-sort -o output_traffic-tohtml.html 如要生成GIF格式(600X600)的报告,请运行命令: traffic-togif -i output_traffic-sort -o output_traffic-togif.gif -x 600 -y 600
GIF格式的报告可以方便地发现网络广播,
技巧和提示:使用管道,可以只需执行一条命令来产生报告。 cat output_traffic-collector | traffic-sort -Hp | traffic-tohtml -o output_traffic-tohtml.html 如要生成GIF文件,执行命令: cat output_traffic-collector | traffic-sort -Hp | traffic-togif -o output_traffic-togif.gif -x 600 -y 600 10、pmap
pmap可以报告某个或多个进程的内存使用情况。
pmap <pid>
liyawei:~ # pmap
1: init START 08048000 080c1000 080c2000 bfb5b000 ffffe000 Total:
232K writable-private, 488K readonly-private, and 0K shared
11、strace
strace截取和记录系统进程调用,以及进程收到的信号。
使用该命令需要指明进程的ID(PID),例如: strace -p <pid> # strace –p 2582 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 read(7, "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\ write(3, "}H\331q\37\275$\271\t\311M\ select(8, [3 4 7], [3], NULL, NULL) rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 read(7, "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\ write(3, "\204\303\27$\35\206\\\306VL\ select(8, [3 4 7], [3], NULL, NULL) rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 read(7, "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\ write(3, "\243\207\204\277Cw\0162\2ju=\ select(8, [3 4 7], [3], NULL, NULL) rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 read(7, "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\ write(3, "6\270S\3i\310\334\301\253!ys\ select(8, [3 4 7], [3], NULL, NULL) rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 12、ulimit
ulimit内置在bash shell中,用来提供对shell和进程可用资源的控制
liyawei:~ # ulimit -a core file size data seg size file size pending signals max locked memory max memory size open files pipe size POSIX message queues stack size cpu time max user processes virtual memory file locks -H和-S选项指明所给资源的软硬限制。如果超过了软限制, 例如可以设置对文件句炳的硬限制:ulimit -Hn 4096 例如可以设置对文件句炳的软限制:ulimit -Sn 1024 查看软硬值,执行如下命令: ulimit -Hn ulimit -Sn 例如限制Oracle用户. 在/etc/security/limits. soft nofile 4096 hard nofile 10240 对于Red Hat Enterprise Linux AS,确定文件/etc/pam.d/system- session required /lib/security/$ISA/pam_limits. 对于SUSE LINUX Enterprise Server,确定文件/etc/pam.d/login 和/etc/pam.d/sshd包含如下行: session required pam_limits.so 这一行使这些限制生效。 13、mpstat
mpstat是Sysstat工具集的一部分,下载地址是htt
mpstat用于报告多路CPU主机的每颗CPU活动情况, 例如,下边的命令可以隔2秒报告一次处理器的活动情况,执行3次 mpstat 2 3 liyawei:~ # mpstat 2 3 Linux 2.6.16.21-0.8-default (liyawei)
10:23:03
10:23:05 10:23:07 10:23:09 Average: 如下命令每隔1秒显示一次多路CPU主机的处理器活动情况, mpstat -P ALL 1 3 liyawei:~ # mpstat -P ALL 1 10 Linux 2.6.16.21-0.8-default (liyawei)
10:23:31
10:23:32 10:23:32 10:23:33 10:23:33 10:23:34 10:23:34 10:23:35 10:23:35
98.02
(责任编辑:IT) |