[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kernel panic错误,有人碰到吗?



2字节的int都已经过时十多年了

在 07-11-16,nickel.cobalt.2007@gmail.com<nickel.cobalt.2007@gmail.com> 写道:
> 我觉得这个程序可能有点问题。我学过点 C 的。
> int 整形数的话,最大的数是 65535,如果是 unsigned 的话再乘2。
> 而你的 1024*1024*512,远远超过这个范围啊。包括下面的 int i 也是如此。
> 可能你改下程序会好点吧。
>
> 当然这要看具体的机器实现方式,你用 sizeof(int) 看看你的机器把 int
> 认为是多少个字节吧。如果是 2 的话,那就只有 2^16 ,最大是 65535。如果
> 是 4 的话,当我上面说的是屁话。呵呵
>
> Good luck,
> Nickel Cobalt
>
> On Thu, Nov 15, 2007 at 08:25:46PM +0800, allan xu wrote:
> > 直接 double aa[1024*1024*512],刚好用4G。可以跑的,因为有的时候能跑完。
> >
> > 程序大概是这样的
> > // test.cpp
> > const int N = 1024*1024*512;
> > double aa[N];
> >
> > int main()
> > {
> >    double sum = 0;
> >    for (int i=0;i < N;++i)
> >       aa[i] = (i % 1024)*0.001;
> >    for (i = 0; i < N;++i)
> >       sum += aa[i];
> >    printf("sum = %lf\n", sum);
> > }
> >
> >
> > On Nov 15, 2007 8:10 PM, gradetwo <gradetwo@gmail.com> wrote:
> > > 如何开的数组?
> > > 直接 char szBigArray[];这样还是malloc阿?
> > > 在我这边,malloc没问题,另外一种段错误.
> > >
> > > 在 2007-11-15四的 17:34 +0800,allan xu写道:
> > >
> > > > 新配的一台 core2 Q6600,跑 debian sid
> > > > amd64,今天碰到系统突然失去响应的情况。写了简单的c程序测试,就是开了个4G的数组,运行时大约有50%的概率造成死机。后来在console上运行时看到输出
> > > > panic 信息,先是一大堆信息,最后一行是:Kernel panic - not syncing: Aiee, killing
> > > > interrupt handler
> > > >
> > > > 机器的硬件是:
> > > > CPU:Q6600
> > > > 主板:华硕P5b
> > > > 内存:4G kingston?
> > > > 显卡:华硕8500GT
> > > >
> > > > 系统是 debian sid amd64, 内核版本是 2.6.22,无论是自带的内核还是编译的内核,都会出这个错误。
> > > >
> > > > 曾怀疑是内存的问题,但用 memtest86 测了4个多小时也没有检测到错误。
> > > >
> > > > 有网友碰到过这个错误吗?指点一下。谢谢!
> > >
>
>
> --
> To UNSUBSCRIBE, email to debian-chinese-gb-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
>


-- 
Ren Xiaolei

Reply to: