Chinaunix首页 | 论坛 | 博客
  • 博客访问: 563246
  • 博文数量: 199
  • 博客积分: 5087
  • 博客等级: 大校
  • 技术积分: 2165
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-26 21:53
文章存档

2010年(199)

我的朋友

分类: LINUX

2010-06-26 18:32:44

 

Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序

内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打开 /dev/watchdog 设备,就会导致在内核中启动一个 1分钟的定时器,此后,用户空间程序需要保证在 1分钟之内向这个设备写入数据,每次写操作会导致重新设定定时器。如果用户空间程序在 1分钟之内没有写操作,定时器到期会导致一次系统 reboot 操作。

用户空间程序可通过关闭 /dev/watchdog 来停止内核中的定时器。

用户空间的 watchdog 守护进程:

在用户空间,还有一个叫做 watchdog 的守护进程,它可以定期对系统进行检测,包括:

Is the process table full?
Is there enough free memory?
Are some files accessible?
Have some files changed within a given interval?
Is the average work load too high?
Has a file table overflow occurred?
Is a process still running? The process is specified by a pid file.
Do some IP addresses answer to ping?
Do network interfaces receive traffic?
Is the temperature too high? (Temperature data not always available.)
Execute a user defined command to do arbitrary tests.
如果某项检测失败,则可能导致一次 soft reboot (模拟一次 shutdown 命令的执行)

它还可以通过 /dev/watchdog 来触发内核 watchdog 的运行。

该版本修正了很多bug,添加了一些更新,大部分的改动主要是提升在嵌入系统中的可用性。特别是修改了默认的时间间隔;另外 watchdlog 可免于因为内存不足而导致程序挂起。

转自:

阅读(549) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~