当前位置:首页 > 内存 > 正文

linux内存耗尽怎么解决(游戏内存耗尽)

  • 内存
  • 2024-06-04 01:34:18
  • 9588

一、linux内存占用卡死分析1、硬件问题
您可以考虑分析以下几点:
1不要对CPU超频,先恢复到原来的频率br/>
虽然正常运行时没有问题,高负载使用时可能会出现不可预知的错误。Linux系统在某些应用程序中尤其可以将硬件性能推向极限,但在此类硬件上运行Windows则没有问题。
2.确认电源充足
必须保证高负载情况下电源能够满足负载。
3.使用memtest86检查内存状态
4将BIOS恢复到默认状态
对于服务器来说,可以使用内置的监控工具进行测试,也是一个不错的选择故障排除方法。
2.软件问题
如果硬件问题基本排除,我们就需要考虑从软件中获取有关崩溃情况的系统信息。
1如果你足够幸运,系统崩溃可能还没有完全死掉(此时键盘可能还有反应),那么我们可以使用Sysrq方法。
前提是我们首先要启用sysrq功能:
#echo"1">/proc/sys/kernel/sysrq
#setterm-blank
这样,当系统出现问题时,我们可以使用:
引用
Alt+Sysrq-T用于获取进程系统堆栈信息
Alt+Sysrq-M获取内存分配信息
Alt+Sysrq-W获取当前寄存器信息
更多键盘快捷键请参见系统/usr/src/linux/Documentaion/
其中setterm-blank可以在字符过程中关闭定时黑屏保护,方便记录屏幕信息。
2为了让屏幕显示更多的内核错误信息,可以将控制台的显示模式更改为80x25在/boot/grub/中相应内核行的末尾添加vga=0x305,例如:
引用
kernel/boot/vmlinuz-2.4.21-9.30AXsmproroot=/LABEL=/1vga=0x305
3、如果键盘不幸门,我们只能使用串口的方法将系统信息发送到另一个系统。方法:
修改/boot/grub/文件,在内核行末尾添加内核参数“console=ttyS0console=tty1”,例如:
引用
kernel/boot/grub/vmlinuz-2.4.21-9.30AXsmproroot=/LABEL=/1console=ttyS0console=tty1
然后更改/etc/sysconfig/syslog并在klogd选项中添加“-c7”,例如:
引用
KLOGD_OPTIONS="-x-c7"
重启服务器测试:
1)使用串口直连线连接客户端和服务器,并在客户端运行:
cat/dev/ttyS0
在服务器上运行:
echohi>/dev/ttyS0
如果是客户端只要本机有“hi”输出即可。
2)在服务端运行:
echow>/proc/sysrq-trigger
查看客户端是否有对应的核心信息3)在服务端运行:
modprobeloop
查看客户端是否有对应的核心信息
如果所有测试都通过了,则在客户端运行:
cat/dev/ttyS0|tee/tmp/result
当崩溃发生时,我们可以运行它从客户端查看所需的内核信息(参见/tmp/result)。
3.总结
Linux系统崩溃的一般原因有:
系统硬件问题(SCSI卡、主板、RAID卡、HBA卡)。、网卡、硬盘等)
外围硬件问题(网络等)
软件问题(系统、应用软件)
驱动错误(寻找新的驱动)
内核系统错误(检查LKML,或者更换内核重试)
系统设置(恢复默认状态、关闭防火墙等)