Linux 如何处理死锁

Linux 如何处理死锁,第1张

处理死锁的策略

1.忽略该问题。例如鸵鸟算法,该算法可以应用在极少发生死锁的的情况下。为什么叫鸵鸟算法呢,因为传说中鸵鸟看到危险就把头埋在地底下,可能鸵鸟觉得看不到危险也就没危险了吧。跟掩耳盗铃有点像。

2.检测死锁并且恢复。

3.仔细地对资源进行动态分配,以避免死锁。

4.通过破除死锁四个必要条件之一,来防止死锁产生。

检测死锁的代价很大。所有的类unix系统包括Linux对死锁不作任何处理,这是因为基于成本的考虑.选择鸵鸟算法

查看linux系统日志,步骤如下:

1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。

2、在linux命令行下输入shell指令:cat /var/log/messages。

3、键盘按“回车键”运行shell指令,这时就看到系统日志被打印了出来。

扩展资料:

Linux死机的问题

1.先检查硬件,查看服务器状态灯是否有报警。确保硬件没有问题。

2.使用服务器自带的监测工具进行测试。

3.根据你的情况,我觉得可以重新安装一下登录管理器,或者整个GUI。

4.检查一下服务器性能负载情况,有时候机器不用时发现不了情况,很多时候都是高负载时才出现问题。

5.检查系统日志是否有异常。

6.检查是否有可疑的进程。

7.检查系统相关的配置文件。

让我来告诉你答案!设置状态变量lock=0,在占用资源的函数中,设置lock=1;并在处理结束后设lock=0.

比如:

boollock=0

intscan()

{

while(lock!=0)//循环检测,直到资源释放才执行下面的语句

lock=1//锁定资源

...//具体的执行扫描的语句

lock=1//释放资源

return0

}

这个方法容易实现,但是占用CPU,假定其他线程正在占用扫描仪,那么这个线程就会在自己的时间片内不停的执行while语句直到对方释放扫描仪。由此造成了浪费。

现在流行的做法是通过中断信号来做,那是一本书的内容,建议看linux内核编程方面的书。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7539052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存