实用程序“less”占用大量 CPU

实用程序“less”占用大量 CPU

我使用的是 suse 9 和 redhat 5。有时我发现“less”占用了大量的 CPU。这种情况在 suse 9 上发生得更多,但在 redhat 5 上也发生过。我不得不承认,这种事件发生的频率非常低 - 几个月才发生一次。如果您能给我一些提示,说明为什么会发生这种情况,我将不胜感激。提前致谢

答案1

更可能的是,您正在管道化的命令less占用了大量的 CPU。还有可能是您让它分页一个非常大的文件(或数据流),而它只是在一个繁忙的系统上做一些工作,它就浮在您的top.

不要花时间盯着进程监视器并担心它,尤其是几个月内发生的事情。:-)

答案2

实际上,既然您询问“为什么会发生这种情况”,我的评论就可以算作答案:)

  • 大文件可能会导致高 CPU 使用率(特别是,例如行号和 UNICODE 可能与许多相互抵消的 ANSI 转义符有关?)
  • 文件中是否有长行?长行可能会导致换行性能出现问题
  • 哪些选项(-S?-R?)('混合' ANSI 序列或控制字符可能需要一些时间,而且不可见)
  • 是否有 .lessrc?(它可能包含导致 CPU 占用高问题的隐藏选项)
  • 什么是终端模拟器?您是否在远程工作(ssh/screen/tmux?)等等。

各种各样的事情

  • 您显示行号了吗?
  • 这是哪个版本的 coreutils?
  • 说什么type less
  • 什么是区域设置(尝试LANG=C less?)

相关内容