我正在使用包括排序的管道来合并多个大文本文件并删除欺骗
我没有root权限,但是没有以任何方式配置该框,以便比默认的debian jessie进一步削减非root权限。
该盒子有32GB RAM,16GB正在使用中
无论我如何调用sort(GNU sort 8.13),它都会用“内存不足”填满所有剩余的RAM和崩溃。
在崩溃之前它确实填满了所有内存。我按照顶部的流程进行了操作。
我尝试使用-S参数明确设置最大内存使用率,范围从80%到10%,从8G到500M。
整个管道看起来类似于:
cat * | tr -cd '[:print:]' |sort {various params tested here} -T /other/tmp/path/ | uniq > ../output.txt
始终保持相同的行为
有谁知道什么可能导致这样的问题?
当然如何解决?
答案 0 :(得分:1)
我自己发现了这个问题。这很容易。
" tr -cd' [:print:]'"删除换行符并逐行排序。
因此它尝试将所有文件作为一行读取,-S参数无法完成其工作。