使用ls命令产生报错0653-340 not enough memory available的处理方法
问题描述: 当使用ls * 命令列示文件时,系统产生错误信息 error: 0653-340 not enough memory available
解答:
产生该错误的原因是,32-bit的程序ls在默认情况下只有2段共用于程序的数据段和堆栈段,其总大小为256M,因此当用ls*通配符去列示大量文件时,这些文件名称作为参数传入ls则会超出该段大小,从而报出“not enough memory”的错误消息。
方法一 :
# ldedit -b maxdata:0x80000000 /usr/bin/ls
或者
# export LDR_CNTRL=MAXDATA=0x80000000
将数据段的大小增大到最多8个段,即256M*8=2G。
方法二 :
# find . -print -name "*" | xargs ls
此时,find命令的结果将会通过管道符逐行传送给ls命令,则ls命令的参数不会超出限制值。