linux – 只有在负载不太高的情况下运行cron job
发布时间:2020-12-13 16:31:20 所属栏目:Linux 来源:网络整理
导读:我需要同步两个系统,因此生产者列出要在消费者应用程序上创建的新实体.它没有实时需求(主要用于数据挖掘,因此落后几个小时不是问题),但重要的是当服务器已经忙于为真实用户提供服务时,此任务不会运行. 我试图以较低的优先级运行同步服务(很好-n19)但是对于我
我需要同步两个系统,因此生产者列出要在消费者应用程序上创建的新实体.它没有实时需求(主要用于数据挖掘,因此落后几个小时不是问题),但重要的是当服务器已经忙于为真实用户提供服务时,此任务不会运行.
我试图以较低的优先级运行同步服务(很好-n19)但是对于我所看到的,它仍然会损害性能,就像这个同步服务运行大数据库查询一样,它仍然会增加数据库的负载过程和整个机器 有没有办法测试负载,如果它太高(例如2以上)就退出? 理想情况下,如果cron没有处理太长时间,因为负载永远不会低于2,请提供某种警报. 这是一个好方法还是我创造了更多我正在解决的问题? 解决方法
只需将脚本包装在测试条件中即可.例如:
#!/bin/bash load=`grep -o "^." /proc/loadavg` if [ $load -gt 2 ]; then exit 1 fi ### Call you script here ### 上面的脚本将检查1分钟的平均负载,如果大于2,它将退出.另一方面,如果负载平均值小于或等于2,则它将继续. 可以编写更复杂的测试,但概念是相同的:使用包装脚本/函数,然后调用自定义同步脚本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 亚马逊Linux上的Nginx php-fpm =退出信号11
- 跨多个Linux服务器实时文件同步,包含数百万个文件和目录
- linux – 与nasm和ld的汇编/链接问题
- linux – AD插件或实用程序,在创建时生成唯一的uidnumber /
- linux – 将Python Web(Tornado)应用程序部署到多个服务器
- redhat – 注册离线RHEL系统有什么好处?
- linux – 静态库(.a)和共享库(.so)之间的文件格式差异?
- linux – 由cron运行时,shell脚本中使用的环境变量在日志文
- linux – 如何在连接到两个网络时设置DNS?
- linux – 如何在Perl脚本中调用函数(在shell脚本中定义)