linux - 在具有 x64 操作系统 (redhat 5.6) 的 x64 CPU (Xeon 7650) 上运行的 X64 应用程序的 2GB 障碍 - 为什么 + 要检查的内容

标签 linux memory 64-bit

我正在一个非常好的 IBM x 服务器(4 个 8 核 CPU)上运行一些模拟应用程序的 x64 版本。操作系统是 Linux - redhat 5.6 x64 内核。 因此,此应用恰好在需要超过 2 GB 的内存时崩溃(从其自己的日志文件中可以明显看出)。

我的问题实际上是如何调试这个问题——我应该查看哪些相关的环境设置? “ulimit”(或 sysctl.conf)是否与此问题相关?我可以发布哪些其他信息以便您帮助我?

最佳答案

这将是一个应用程序问题。尽管该应用程序被编译为 64 位应用程序,但它仍然使用带符号的 32 位整数来处理某些事情,而不是正确的指针或适当的 *_t 类型。

如果您自己编译应用程序,请在编译输出中查找任何“未签名”或“截断”警告,并修复它们。

关于linux - 在具有 x64 操作系统 (redhat 5.6) 的 x64 CPU (Xeon 7650) 上运行的 X64 应用程序的 2GB 障碍 - 为什么 + 要检查的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7380409/

相关文章:

javascript - 使用 javascript/css 将 64 位字符串转换为 jpeg

linux - 从 Linux 同步到 AWS S3 Bucket 时保留所有者和文件权限信息

python - 使用子进程写入标准输入

c++ - 微秒和毫秒的转换和比较

xcode - 什么是 szone_error?

memory - 许多 UIView 内存不足,无法在单触摸中释放 CGContext?

perl - 如何在 Vista 64 中通过文件关联传递命令行参数?

c - 当我使用 stdio.h、conio.h 时链接了哪个库

linux - 如何在内核启动时添加 printk 函数

c - 在 C 中直接操作字符串中的 long 值