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

2007-11-20 文章 nickel . cobalt . 2007
呵呵,多谢指教了。我还是第一次知道有 two's complement 这种方式。
有关 2^31 的问题。是由于我的计算器的毛病,精度不够,是三十年前的老机器了。
后来我用电脑上的程序算了一下,的确是 2147483648。
On Mon, Nov 19, 2007 at 10:19:06AM -0600, Ming Hua wrote:
 On Mon, Nov 19, 2007 at 05:04:47PM +0800, Nickel Cobalt wrote:
  
  首先,的确 int 现在已经是 4 字节了。因此最多能有 2^32 方个数。
 
 这个和计算机架构有关。我的机器是 i386 的,所以 int 是 4 字节。
 
  对于 signed int 来说,带符号,其中有一位要作符号位。所以
  最大的正数是  2^31-1-1-1 
 
 不对。在采用 two's complement [1] 方式表示负整数的系统上 (我们现在用的计
 算机都应该用的是这种方式),n-bit 的有符号整数的范围是 -2^(n-1) 到
 2^(n-1)-1。
 
 1. http://en.wikipedia.org/wiki/Two%27s_complement
 
  2^31 方是2147483650
 
 2 的 31 次方是 2147483648...
 
 Ming
 2007.11.19


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



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

2007-11-19 文章 Nickel Cobalt
惭愧啊,很久不用 C 写程序了,而且现在的工作也跟电脑无关的。今天谢谢各位给我指出错误了。

认真看了一个 ming hua 的程序及其他几位的意见(因为太长,所以我都不引用了)
大致又有印象了。首先,的确 int 现在已经是 4 字节了。因此最多能有 2^32 方个数。


对于unsigned  int 来说,因为不带符号,所以最小数是 0,最大是 2^32-1

对于 signed int 来说,带符号,其中有一位要作符号位。所以
最大的正数是  2^31-1-1-1 ,2^31
方是2147483650,减1是因为有个0,要去掉一个数。再减1是因为假设10个数的话,应该是0-9(呵呵,学过 C
的都知道)。最后一个1是因为负数中有一个最小值它的定义是 -2^31-1。

举个例子,假设最多有10个数的话。
对于 unsigned int 来讲,是 0~9
对于 signed int 来讲,是 -5~+4

不知道 这样行不行了?呵呵,上次错得大了。以后不敢了 ;-)

With regards,
Nickel Cobalt

[...snip...]


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

2007-11-19 文章 Ming Hua
On Mon, Nov 19, 2007 at 05:04:47PM +0800, Nickel Cobalt wrote:
 
 首先,的确 int 现在已经是 4 字节了。因此最多能有 2^32 方个数。

这个和计算机架构有关。我的机器是 i386 的,所以 int 是 4 字节。

 对于 signed int 来说,带符号,其中有一位要作符号位。所以
 最大的正数是  2^31-1-1-1 

不对。在采用 two's complement [1] 方式表示负整数的系统上 (我们现在用的计
算机都应该用的是这种方式),n-bit 的有符号整数的范围是 -2^(n-1) 到
2^(n-1)-1。

1. http://en.wikipedia.org/wiki/Two%27s_complement

 2^31 方是2147483650

2 的 31 次方是 2147483648...

Ming
2007.11.19



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

2007-11-17 文章 任晓磊
2字节的int都已经过时十多年了

在 [EMAIL PROTECTED][EMAIL PROTECTED] 写道:
 我觉得这个程序可能有点问题。我学过点 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]




-- 
Ren Xiaolei


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

2007-11-17 文章 任晓磊
另外,如果unsigned的话,最大数字会比signed小,而非再乘2

在 [EMAIL PROTECTED][EMAIL PROTECTED] 写道:
 我觉得这个程序可能有点问题。我学过点 C 的。
 int 整形数的话,最大的数是 65535,如果是 unsigned 的话再乘2。
 而你的 1024*1024*512,远远超过这个范围啊。包括下面的 int i 也是如此。
 可能你改下程序会好点吧。

 当然这要看具体的机器实现方式,你用 sizeof(int) 看看你的机器把 int
 认为是多少个字节吧。如果是 2 的话,那就只有 2^16 ,最大是 65535。如果
 是 4 的话,当我上面说的是屁话。呵呵

 Good luck,
 Nickel Cobalt


-- 
Ren Xiaolei


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

2007-11-17 文章 Ming Hua
On Sat, Nov 17, 2007 at 05:46:04PM +0800, 任晓磊 wrote:
 另外,如果unsigned的话,最大数字会比signed小,而非再乘2

不可能。

$ cat int-range.c
#include stdio.h
#include limits.h

int main( void )
{
printf( The length of int is %zd bytes.\n, sizeof( int ) );
printf( The maximum signed integer is %d.\n, INT_MAX );
printf( The maximum unsigned interger is %u.\n, UINT_MAX );
return 0;
}

$ gcc -std=c99 -o int-range int-range.c

$ ./int-range 
The length of int is 4 bytes.
The maximum signed integer is 2147483647.
The maximum unsigned interger is 4294967295.

Ming
2007.11.17



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

2007-11-17 文章 Christian Leng
晕死啊!
怎么又回复给作者了!
debian中文列表这个设置啥时候才能改改……

在07-11-18,Christian Leng [EMAIL PROTECTED] 写道:

 你正好记反了……

 在07-11-17,任晓磊 [EMAIL PROTECTED] 写道:
 
  另外,如果unsigned的话,最大数字会比signed小,而非再乘2
 
  在 [EMAIL PROTECTED][EMAIL PROTECTED]
  写道:
   我觉得这个程序可能有点问题。我学过点 C 的。
   int 整形数的话,最大的数是 65535,如果是 unsigned 的话再乘2。
   而你的 1024*1024*512,远远超过这个范围啊。包括下面的 int i 也是如此。
   可能你改下程序会好点吧。
  
   当然这要看具体的机器实现方式,你用 sizeof(int) 看看你的机器把 int
   认为是多少个字节吧。如果是 2 的话,那就只有 2^16 ,最大是 65535。如果
   是 4 的话,当我上面说的是屁话。呵呵
  
   Good luck,
   Nickel Cobalt
  
 
  --
  Ren Xiaolei
 




kernel panic错误,有人碰到吗?

2007-11-15 文章 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个多小时也没有检测到错误。

有网友碰到过这个错误吗?指点一下。谢谢!


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

2007-11-15 文章 allan xu
4G

On Nov 15, 2007 5:57 PM, Yingbo Qiu [EMAIL PROTECTED] wrote:
 你机器有多大内存啊..



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

2007-11-15 文章 LI Daobing
On Nov 15, 2007 5:34 PM, allan xu [EMAIL PROTECTED] wrote:
 新配的一台 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个多小时也没有检测到错误。

 有网友碰到过这个错误吗?指点一下。谢谢!


换memtester试试

$ apt-cache show memtester
Package: memtester
Priority: optional
Section: utils
Installed-Size: 96
Maintainer: Oliver Kurth [EMAIL PROTECTED]
Architecture: i386
Version: 2.93.1-3.1
Depends: libc6 (= 2.3.5-1)
Conflicts: sysutils (= 2.0.0-1)
Filename: pool/main/m/memtester/memtester_2.93.1-3.1_i386.deb
Size: 21548
MD5sum: 6c4928e6a819e4d96f62ffa27ac1927a
SHA1: aeee4d409f799c734be6edbad8fbcbb78e0907b1
SHA256: 7011b5595f2d400ecfc417ab25969e9455641ced69c3f9c5617ce211c1469714
Description: A utility for testing the memory subsystem
 memtest is a utility for testing the memory subsystem
 in a computer to determine if it is faulty.
Tag: admin::benchmarking, interface::commandline, role::program,
scope::utility, use::checking



-- 
Best Regards,
 LI Daobing


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

2007-11-15 文章 gradetwo
如何开的数组?
直接 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个多小时也没有检测到错误。
 
 有网友碰到过这个错误吗?指点一下。谢谢!


signature.asc
Description: 	这是信件的数	字签名部分


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

2007-11-15 文章 Vern Sun
怀疑是主板的问题!换了我会把主板集成的设备在 BIOS 中禁用掉后试用。
首先是声卡,因为P5B的声卡问题尤其突出,其次是网卡,有很多用户反映。

如果要更换硬件测试的话,首先建议是更换电源,其次是更换主板。


-- 
Vern


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

2007-11-15 文章 Yingbo Qiu
你机器有多大内存啊..


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

2007-11-15 文章 allan xu
直接 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 [EMAIL PROTECTED] 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个多小时也没有检测到错误。
 
  有网友碰到过这个错误吗?指点一下。谢谢!



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

2007-11-15 文章 allan xu
今天把内存重新插拔了几次,好像问题就消失了。

谢谢诸位!

On Nov 15, 2007 8:38 PM, Vern Sun [EMAIL PROTECTED] wrote:
 怀疑是主板的问题!换了我会把主板集成的设备在 BIOS 中禁用掉后试用。
 首先是声卡,因为P5B的声卡问题尤其突出,其次是网卡,有很多用户反映。

 如果要更换硬件测试的话,首先建议是更换电源,其次是更换主板。


 --
 Vern