是否可以为 cron 守护进程执行的所有脚本分配 nice 和 ionice 优先级?
更具体一点: 我有一台 Debian Squeeze Linux 机器,上面有一个应该可以在全球范围内使用的 Web 应用程序。到目前为止,我每晚都会执行大量耗费资源的 cronjobs(在欧洲),但对区域用户体验没有太大影响。但现在我不能承受服务器随时变慢的后果。 有没有办法强制所有 cron 脚本(cron.daily 等)继承 nice 和 ionice 优先级? 感谢您的贡献! 米格尔 ...
更具体一点: 我有一台 Debian Squeeze Linux 机器,上面有一个应该可以在全球范围内使用的 Web 应用程序。到目前为止,我每晚都会执行大量耗费资源的 cronjobs(在欧洲),但对区域用户体验没有太大影响。但现在我不能承受服务器随时变慢的后果。 有没有办法强制所有 cron 脚本(cron.daily 等)继承 nice 和 ionice 优先级? 感谢您的贡献! 米格尔 ...
我正在尝试以实时优先级运行 apache2,为此我想使用 IONICE,但没有成功。 Debian 6(2.6.32-5-amd64) 我使用这个命令 ionice -c1 -n0 apache2 但是我得到了这个错误 apache2: bad user name ${APACHE_RUN_USER} 有人能给我一些建议以使这个工作正常进行吗? ...
Ionice 工具应该仅在系统处于指定状态时执行命令来缓解高 I/O 负载。 https://www.linux.org/docs/man1/ionice.html状态 Linux 从 2.6.13 版本开始通过 CFQ I/O 调度程序支持 I/O 调度优先级和类别。 然而,自 5.3 版内核以来,CFQ I/O 已被弃用并从内核中删除 那么这个实用程序的现状如何?它真的可以在现代内核上运行吗? 附加信息 ionice 使用内核调用ioprio_set https://www.man7.org/linux/man-pages/man2/ioprio_s...
我需要在 NFS 共享上递归删除数百万个目录,为了避免任何性能问题,我运行以下命令: ionice -c 3 -t find /dir -type f -exec rm {}; 这将删除所有文件和剩余的空目录,我可以使用 rm -rf 删除。 但我无法说出 ionice 是否对上述命令有任何影响。 来自 man,ionice class 3: 以空闲 io 优先级运行的程序只有在定义的宽限期内没有其他程序请求磁盘 io 时才会获得磁盘时间。空闲 io 进程对正常系统活动的影响应该为零。 从源代码中,我看到 ionice 设置了ioprio...
不幸的是,背景rsync降低了服务器的响应能力。 我寻找一种方法来最大限度地优化这个后台任务,以保持服务器快速响应。 我当前的包装器命令是这样的: nice -n19 ionice -c3 nocache 来源:https://askubuntu.com/a/159012/42348 还有什么我可以做的来尽可能让备份 rsync 保持在后台吗? 一种解决方案是使用带宽限制,但我想避免这种情况。我想将此模式应用于多台服务器,计算每台服务器的匹配带宽限制会很困难(因为每台服务器的硬件和网络连接都不同)。 ...
我知道这似乎是一个反复出现的问题,但它已经困扰了一段时间了,所以如果有人有一个好主意,请告诉我。 我的设置 操作系统 Debian Wheezy 硬盘 2 x 240GB SSD 用于系统(RAID1 中的 sda 和 sdb - md0=/boot md1=/ md2=/tmp md3=swap) 2 个 2TB SATA 用于存储(RAID1 中的 sdc 和 sdd - md4=/home) 调度程序设置 [cfq] 针对驱动器 sda sdb sdc sdd(据我所知,ionice 仅适用于 cfq) cat /sy...
在我们的 Web 服务器上,我们每 4 小时使用以下方法对文件进行一次增量备份:快照。为了执行文件的实际复制,我将其配置为使用自定义脚本,cp-nice该脚本具有以下内容: nice -n19 ionice -c3 cp "$@" 如您所见,这cp通过nice和ionice调用来防止系统过载。据我所知,这达到了预期的效果(无需停止系统即可进行备份)。 然而,我们的 NewRelic 监控系统每次备份时都会出现故障,因为它检测到系统 IO 已达到 100%。 有没有办法执行这些备份而不会让 NewRelic 认为服务器存在问题? 也许有某种方法可以...
我有一个脚本,它以很大的 CPU 和内存消耗进程树开始。那里有 Python 和可执行文件,但一切都以单个 bash 脚本和 python 子进程开始。 在执行过程中,系统的其余部分完全瘫痪。我尝试通过 来缓解 $ nice -n10 ionice -c2 ./Script.sh,但这还不够——使用电脑非常滞后(实际上这是开发桌面,但指定服务器上的问题将类似)。 我怀疑,问题在于进程使用了太多内存——所有东西最终都会被换出并变得迟缓。 有没有办法降低进程(及其递归子进程)访问物理内存的优先级?我更希望它在后台以较慢的速度完成,对其他任务的影响有限...
我们有一个 4 核 CPU 生产系统,它可以执行大量的 cronjobs,具有恒定的 proc 队列和通常约为 1.5 的负载。 在夜间,我们用 postgres 进行一些 IO 密集型操作。我们生成一个显示负载/内存使用情况的图表 (rrd-updates.sh)。在高 IO 负载情况下,此操作有时会“失败”。这种情况几乎每晚都会发生,但并非在每次高 IO 情况下都会发生。 我的“正常”解决方案是对 postgres 内容进行 nice 和 ionice,并提高图形生成的优先级。但是这仍然失败了。使用 flock,图形生成是半线程防护的。我确实记录了执...
我们的一个繁忙网站有一个非常大(多 GB)的 Nginx 缓存目录,有时我们需要一次性清除所有缓存。我过去曾通过将缓存文件夹移动到新路径、在旧路径上创建新缓存文件夹,然后rm -rf删除旧缓存文件夹来解决这个问题。 然而,最近,当我需要在繁忙的早晨清除缓存时,I/O 导致rm -rf我的服务器进程无法访问磁盘,因为 Nginx 和它所面向的服务器都是读取密集型的。我可以看到平均负载上升,而 CPU 处于空闲状态,rm -rf占用了 98-99% 的磁盘 IO iotop。 我曾尝试ionice -c 3调用rm,但似乎对观察到的行为没有明显的影响。 有...
我有一台服务器,该服务器配备了一个大型硬件 RAID6 阵列,该阵列配置了两个卷,由 Linux 呈现为和sda(sdb是的,我知道,但它是租用的 colo,就是这样配置的,遗憾的是我不得不忍受它)。 我有一个使用 的 I/O 密集型进程sdb。我使用 运行ionice -c3,因为我希望它的优先级低于其他任何进程。不幸的是,ionice不知道这两个设备实际上共享同一阵列的带宽。当该进程繁忙时,内核会发现它sdb很安静,并为其提供所需的所有带宽。但是,这可能会sda非常慢,因为(据我所知)它ionice是基于每个设备工作的。 有没有办法让内核平衡磁盘 I...
我已经测试该ionice命令一段时间了,idle(3)模式似乎在大多数情况下被忽略。 我的测试是同时运行两个命令: 杜<big folder> ionice -c 3 du<another big folder> 如果我检查两个进程,iotop我会发现每个进程的 io 利用率百分比没有差异。 为了提供有关 CFQ 调度程序的更多信息,我使用了 3.5.0 Linux 内核。 updatedb.mlocate我开始做这个测试是因为我在我的 Ubuntu 12.10 机器上每次...
Linux 进程可以有不同的 CPU 和 IO 优先级(nice 和 ionice)。 为什么需要有不同的 CPU 和 IO 优先级? 它们之间的区别在现实世界中有实际用途吗? 您发现哪些实际用例需要不同的 CPU 和 IO 优先级?例如高于正常 CPU 优先级但低于正常 IO 优先级,反之亦然。 ...
我希望使用 nice(1) 以更系统的方式对我的任务进行优先排序。 显然 0 表示“正常”,19 表示“最低优先级”,-19 表示“最高优先级”,但是其他数字又如何呢? 如果我有一个非交互式的工作(我会在它运行时去喝咖啡),我想稍微降低优先级,但降低到哪个数字呢?应该是 1 还是 2 还是 10 还是什么? 每个优先级数字有没有什么“众所周知”的用途? 同样的问题也适用于 ionice。 ...
为了避免 rsync 导致系统和网络瘫痪,我们ionice在启动 rsync 时使用并设置--bwlimit参数。例如: ionice -c2 -n7 rsync -aH --bwlimit=30000 /foo [email protected]:/ 这确实有助于确保源服务器保持响应。但是,由于磁盘 io 达到 100%(如实用atop程序所示),目标服务器变得非常慢。 是否也可以以某种方式ionice在目标服务器上使用?也许通过 rsync-e选项?如果可能的话,我宁愿不运行 rsync 守护程序。 ...