【问题标题】:How to make "find" command slow如何使“查找”命令变慢
【发布时间】:2015-12-30 10:32:51
【问题描述】:

您没看错:我想让 Linux 的“查找”命令变慢并使用更少的系统资源。我创建了一个 cronjob,它每 10 分钟运行一次 find 命令,但是当它运行时,find 命令几乎使用了我所有的 CPU 大约 3 分钟,几乎没有留下任何东西给我的 SO。

所以我希望能够让“find”命令运行得慢一点,这样它就不会使用我的 Centos 服务器的太多资源并在 10 分钟内稳定运行,而不是使用所有资源 3 分钟。

有可能吗?

【问题讨论】:

  • 这是否与编程有关?
  • 您确定需要每 10 分钟运行一次 cron 作业吗?你确定你需要它来查看你的系统吗?如果您将find 命令减慢很多,那么当下一个 cron 作业在十分钟后运行时,您将在一小时内启动的 cron 作业仍在运行,这可能与让一个运行一样糟糕。

标签: linux centos server


【解决方案1】:

根据this

nice 命令调整进程的优先级,使其运行频率降低。当您需要将 CPU 密集型任务作为后台或批处理作业运行时,这很有用。 niceness 级别的范围从 -20(最有利的调度)到 19(最不利的调度)。 Linux 上的进程默认以 0 的 niceness 启动。 nice 命令(不带任何附加参数)将以 10 的 niceness 启动一个进程。在该级别,调度程序会将其视为较低优先级的任务,并为其分配较少的 CPU 资源。

因此,您可以简单地将任务包装在 nice 中,这将改变任务的优先级。

改变

whatever

nice whatever

【讨论】:

  • 我从来没有听说过这个,它解决了我的问题,太棒了!
  • @Samul 很高兴它帮助了你。干杯!
【解决方案2】:

你不能让它变慢内部除非你可以重新编译代码并添加一些延迟功能..

这里是如何可以减慢或延迟 find 命令迭代执行

find -type f -exec sh -c 'echo {};sleep 1'  \;

在打印文件名或(您喜欢执行的任何代码)之前使其每 1 秒休眠一次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-18
    • 2014-12-15
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    相关资源
    最近更新 更多