免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wildlily980
打印 上一主题 下一主题

[性能] 怎样写程序把一个服务器搞死? [复制链接]

论坛徽章:
0
41 [报告]
发表于 2006-06-20 11:39 |只看该作者
呵呵,到底谁搞死了呢?

论坛徽章:
0
42 [报告]
发表于 2006-06-20 13:10 |只看该作者
原帖由 woshiwo 于 2006-6-19 22:37 发表


我也说的是while(1); 后面没有任何语句。这样的循环在 C写的unix环境下面或其他任何非硬实时的系统,保证吃不到 99% 的CPU,当然在dos系统中我能保证你吃到100%的cpu。我这样说是想强调在分时系统中,系 ...



hehe, 可能我说得不是很明白, 我只是想告诉楼主的回复,
while(1) { i++; } 和 while(1); 的区别, 后者要远比前者霸道.

至于进程调度优先级这些当然不在此范围讨论之内了.

论坛徽章:
0
43 [报告]
发表于 2006-06-20 13:30 |只看该作者
原帖由 hightman 于 2006-6-20 13:10 发表



hehe, 可能我说得不是很明白, 我只是想告诉楼主的回复,
while(1) { i++; } 和 while(1); 的区别, 后者要远比前者霸道.

至于进程调度优先级这些当然不在此范围讨论之内了.


呵呵,就事论事~~大家都理解~~

干脆把探讨深入一些,就接着说如何能“把地球转晕了”这个话题~~~

关于while(1) { i++; } 我没做测试,不过想象中应该跟while(1);效果差不多~~因为ADD指令和LOOP指令都是简单指令~~~不影响CPU时间的分配~~~所以关于“后者要远比前者霸道”我觉得还值得探讨~~

hightman能不能详细说一下这里的原理~~~

PS:写PHP的人不懂C,会让人瞧不起,写C的人不懂汇编,还是让人瞧不起,写汇编的人不懂系统,一样让人瞧不起,写系统的人不懂CPU,仍然让人瞧不起~~~知其然,知其所以然~~不是抬杠~~

论坛徽章:
0
44 [报告]
发表于 2006-06-20 13:32 |只看该作者
原帖由 hightman 于 2006-6-20 13:10 发表



hehe, 可能我说得不是很明白, 我只是想告诉楼主的回复,
while(1) { i++; } 和 while(1); 的区别, 后者要远比前者霸道.

至于进程调度优先级这些当然不在此范围讨论之内了.


没试过,这两个while真有这么大区别么?
对于时钟中断,对于内核的进程调度,cpu时间片的分配与当前进程执行什么指令是完全无关的(系统调用除外),有关的恰恰是系统有多少进程在运行,以及这些进程的优先级关系,这些才真正决定了cpu资源在各个进程间的分配比例。

论坛徽章:
0
45 [报告]
发表于 2006-06-20 13:45 |只看该作者
原帖由 nathena 于 2006-6-20 10:26 发表


跟反复三次没关系吧.是递归引起的吧.PHP的递归本来就有问题.

PS:新手说错不要砸我


请前往这里:http://securitytracker.com/alerts/2006/Apr/1015880.html

论坛徽章:
0
46 [报告]
发表于 2006-06-20 13:47 |只看该作者

回复 43楼 mikespook 的帖子

楼上的,我们的理解比较相近。只要进程没有执行系统调用,没有陷入异常,cpu的占用就只决定于所有进程数量和优先级关系。

如果考虑到系统调用可能就比较复杂了
比如while(1){read(fd, flag);},如果是以阻塞方式读写,而资源没有到位,可能反而使该进程cpu 占用率降低。

论坛徽章:
0
47 [报告]
发表于 2006-06-20 14:41 |只看该作者

直接按下电源开关估计更容易实现一些

直接按下电源开关估计更容易实现一些

论坛徽章:
0
48 [报告]
发表于 2006-06-20 23:16 |只看该作者
cat /dev/zero >> /tmp/zero

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
49 [报告]
发表于 2006-06-22 09:37 |只看该作者
set_time_limit都被禁用,没理由system()不被禁用.

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
50 [报告]
发表于 2006-06-22 13:53 |只看该作者
可否这样子(未经测试):
程序自己连接自己:
<?php
// filename:http://www.site.com/myself.php
file("http://www.site.com/myself.php");
?>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP