Linux运行了多久

1 查看时钟中断:

$ cat /proc/interrupts
           CPU0
  0:    1380471    IO-APIC-edge  timer
  1:       3626    IO-APIC-edge  i8042
  7:          0    IO-APIC-edge  parport0
  8:          3    IO-APIC-edge  rtc
  9:          1   IO-APIC-level  acpi
14:      39229    IO-APIC-edge  libata
15:      39999    IO-APIC-edge  libata
169:     244640   IO-APIC-level  uhci_hcd:usb2
177:          2   IO-APIC-level  uhci_hcd:usb1, ehci_hcd:usb5
185:          0   IO-APIC-level  uhci_hcd:usb3
193:     410350   IO-APIC-level  uhci_hcd:usb4, i915@pci:0000:00:02.0
201:     251593   IO-APIC-level  Intel ICH7
209:     148723   IO-APIC-level  eth0
NMI:          0
LOC:    1380276
ERR:          0
MIS:          0

第一条中断线就是时钟中断,第二个数字表示中断次数,由于时钟中断是有一定频率的,那么根据这个值可以知道系统运行了多久。

时钟中断的频率在Linux中称为节拍。用下面这个命令查看当前系统配置的节拍数:

$ cat /boot/config-`uname -r` | grep '^CONFIG_HZ='
CONFIG_HZ=250

一秒有250个时钟中断,那么运行了1380471/250=5521.88s

2 查看/proc文件:
$ cat /proc/uptime
5863.73 4889.31

第一个数值表示系统总的启动时间,第二个数值表示系统空闲的时间,单位都是秒。

空闲比例为4889.31/5863.73=83.38%,还是比较闲的。

3 uptime命令:
$ uptime
17:12:47 up  1:38,  8 users,  load average: 0.94, 0.51, 0.47

分别表示启动时间、状态、启动总时间、用户数、过去1、5、15分钟的负载平衡(运行队列中的平均进程数)。

平均下来差不多半个进程。