Linux *** 作系统在什么情况下崩溃

Linux *** 作系统在什么情况下崩溃,第1张

1一个死循环不大可能把linux搞崩溃,尤其是到24以后,内核都有相应的保护机制,多半情况下这种进程会被杀死的。当然,你可以试试提高进程的优先级(这种我没做过,不知道结果,请事先保存好数据,以免不必要的损失)
2还有,大量地消耗系统内存。这方法也不能成功。
比如:
======================================
#BOF
#include <unistdh>
#include <stdlibh>
#include <stdioh>
#define ONE_K (1024)
int main ()
{
char some_memory;
int size_to_allocate = ONE_K;
int megs_obtained = 0;
int ks_obtained = 0;
while (1) {
for (ks_obtained = 0; ks_obtained < 1024; ks_obtained++) {
some_memory = (char)malloc(size_to_allocate);
if (some_memory == NULL) exit (EXIT_FAILURE);
sprintf(some_memory, "Hello,World");
}
megs_obtained++;
printf("Now allocated %d Megabytes\n", megs_obtained);
}
exit(EXIT_SUCCESS);
}
#EOF
====================
运行之后,


Out of Memory:Killed process 2365
Killed
======================================
系统为了保护自己的安全运行,终止了这个危险的进程。
3驱动程序出现问题,比如驱动有bug崩溃了,这时间系统就危险了,但现在的社区里面写的开源驱动大都能和内核很好地结合,bug也没抓得差不多了。(关于驱动程序,可以参看Minix作者写的 *** 作系统原理那本书,作者分析,70%的系统崩溃是由于驱动程序引起的,所以minix采用了微内核设计,只把必要的几千行代码放在内核而剩下的都放到了用户层,他认为这样做能极大地提高系统的稳定性。关于微内核的优劣,不好评论,反正我了解一点,GNU中的一个项目是做一个叫做Hurd的微内枋系统,这个项目已经有好几年了,可以去>系统会检测内存,如果内存占用过大,会自动清理,你查看一下系统日志/var/log/messages :
Sep 21 10:34:26 iZ94dvgpg40Z kernel: Out of memory: Kill process 11462 (java ) score 358 or sacrifice child
Sep 21 10:34:26 iZ94dvgpg40Z kernel: Killed process 11462 (java ) total-vm:3100672kB, anon-rss:695128kB, file-rss:0kB
参考>方法1:打开360安全卫士,工具里,打开修复lsp,然后立即修复。
系统保留网速设置,运行的对话框,在输入文字的位置,输入命令gpeditmsc,调出组策略进行设置,选择管理模板-网络-Qos数据包计划程序,选择后在右侧的窗口选择限制可保留带宽选项,将未配置的选择更改成已启用,并将带宽限制将默认设置的20更改为0。
方法2:打开搜索运行(WIN键+R)输入servicesmsc
找到WINDOWS FIREWALL,双击。
启动类型设置成手动,然后下面的服务状态停止掉点确认就OK了。


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

原文地址: https://outofmemory.cn/zz/13497238.html

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

发表评论

登录后才能评论

评论列表(0条)

保存