io隔离方式----watchdog

author:skate

time:2010-05-11


io隔离方式----watchdog

 

在oracle的rac中在9.2.0.2之前,io fecing(io隔离)Linux一直用watchdog来实现,在之后就用hangcheck-timer来替代

 

“Watchdog” 在实现上可以是硬件电路也可以是软件定时器,能够在系统出现故障时自动重新启动系统。


从字面上理解是“看门狗”的意思

 

watchdog工作原理:

 

在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去复位看门狗,
那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意复位看门狗。

 

看门狗有硬件和软件的。常见的硬件看门狗是PCI接口和USB接口,体积很小。

 

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 的运行。

 

内核级”watchdog”与用户空间的”watchdog”的主要区别是,内核态的”watchdog”抗干扰能力强,运行稳定。

 

 

参考:


http://baike.baidu.com/view/280158.htm
http://www.ibm.com/developerworks/cn/linux/l-cn-watchdog/index.html
http://www.oschina.net/p/watchdog
http://www.linuxidc.com/Linux/2008-05/12747.htm
http://blog.chinaunix.net/u1/40912/showart_354070.html

 

 

 

 

 

 

-----end-----

 

 

 

 

 

 

 

### 回答1: dpc-watchdog-violation是一种Windows操作系统的蓝屏错误,通常是由于硬件或驱动程序问题引起的。这个错误会导致计算机突然崩溃并重新启动。为了解决这个问题,可以尝试更新驱动程序、检查硬件故障或者进行系统修复等操作。 ### 回答2: dpc-watchdog-violation是一种蓝屏错误,它通常会在Windows系统上出现。DPC是指延迟程序函数,它是计算机系统中的一个重要元素,与硬件设备和操作系统之间的通信有关。当出现DPC延迟或硬件故障时,Watchdog会启动,以防止系统崩溃或出现故障。而如果Watchdog检测到DPC需要太长时间才能结束,他会出现dpc-watchdog-violation错误。 常见的dpc-watchdog-violation错误原因包括硬件问题,例如驱动程序的不正确或故障,CPU和存储空间问题以及不使用兼容模式的外部硬件。还可能是由于系统文件损坏、软件问题、系统更新或安装等原因导致的。 为了解决dpc-watchdog-violation错误,需要进行一些常规排除步骤。首先,确定系统和驱动程序都是最新版本。其次,检查所有设备的硬件连接并更换损坏的硬件。接下来,可以尝试禁用不必要的外部设备和服务,或采用兼容模式。如果问题仍然存在,则可以尝试修复或重新安装操作系统,还可以通过更改系统设置来解决错误。 总之,dpc-watchdog-violation是一个比较常见的蓝屏错误,可以采取多种方法来解决它。如果你的Windows系统遇到了这个错误,可以根据上述方法尝试修复。一般情况下,通过排除硬件和软件问题,采取兼容模式和更新驱动程序等方法,就可以解决该问题。 ### 回答3: DPC Watchdog Violation是Windows操作系统的一个错误代码,通常会在系统崩溃时出现。该错误主要是由于IO操作超时或处理器死锁引起的。 首先,DPC代表“Deferred Procedure Calls”(延时过程调用),它是一种在Windows操作系统中用于处理后台任务的机制。当发生系统崩溃时,通常是因为延迟过程调用无法成功完成或出现了超时错误,这就导致了DPC Watchdog Violation错误。 其次,当系统发生IO操作时,DPC Watchdog会监视IO操作的超时时间。如果IO操作超时,DPC Watchdog会启动一个顶级线程,它会检查当前进程和资源的状态是否正常。如果发现处理器死锁或其他问题,DPC Watchdog会强制结束进程并显示DPC Watchdog Violation错误。 为了解决DPC Watchdog Violation错误,可以尝试以下方法: 1. 升级或更新操作系统和驱动程序,以确保系统的稳定性和兼容性。 2. 清理系统垃圾文件和注册表,避免出现IO操作超时或处理器死锁等问题。 3. 禁用或卸载不必要的软件或设备,这些软件或设备可能会干扰系统的正常运行。 4. 执行磁盘检查和修复,确保存储设备的稳定性和可靠性。 总之,DPC Watchdog Violation错误可能会导致系统崩溃和数据丢失,因此建议及时采取措施进行修复。如果以上方法无法解决问题,建议联系技术支持或专业人士寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值