Linux 如何防止长时间运行的备份作业被终止
如何防止长时间运行的内存密集型基于tar的备份脚本被杀死 我有一个cron作业,每天运行一个命令,如:Linux 如何防止长时间运行的备份作业被终止,linux,memory-management,backup,tar,Linux,Memory Management,Backup,Tar,如何防止长时间运行的内存密集型基于tar的备份脚本被杀死 我有一个cron作业,每天运行一个命令,如: tar --create --verbose --preserve-permissions --gzip --file "{backup_fn}" {excludes} / 2> /var/log/backup.log 它写入外部USB驱动器。通常生成的文件是100GB,但在我升级到Ubuntu16之后,现在日志文件显示进程在整个过程中大约有25%被终止,可能是因为它消耗了大量内存和/
tar --create --verbose --preserve-permissions --gzip --file "{backup_fn}" {excludes} / 2> /var/log/backup.log
它写入外部USB驱动器。通常生成的文件是100GB,但在我升级到Ubuntu16之后,现在日志文件显示进程在整个过程中大约有25%被终止,可能是因为它消耗了大量内存和/或使系统负载过大
我如何告诉内核不要终止这个进程,或者调整它,使它不会消耗太多的资源而需要终止它?如果您确定-由于消耗太多内存而被终止,那么您可以尝试增加
/proc/sys/vm/swappiness
中的swappiness
值。通过增加swappiness
,您可能可以摆脱这种情况。您还可以尝试调整oom\u kill\u分配任务
,默认值为0
,它尝试找出占用胭脂内存的任务并终止该任务。如果将其更改为1
,oom\u killer
将终止调用任务
如果上述方法均无效,则可以在/proc/$pid/oom\u score\u adj
下尝试oom\u score\u adj
oom\u score\u adj
接受从-1000
到1000
的值范围。降低该值,以减少被oom\u killer
杀死的可能性。如果将此值设置为-1000
,则禁用oom终止。但是,你应该知道你到底在做什么
希望这能给您一些想法。如果您确定-由于占用太多内存而被杀死,那么您可以尝试增加
/proc/sys/vm/swappiness
中的交换性值。通过增加swappiness
,您可能可以摆脱这种情况。您还可以尝试调整oom\u kill\u分配任务
,默认值为0
,它尝试找出占用胭脂内存的任务并终止该任务。如果将其更改为1
,oom\u killer
将终止调用任务
如果上述方法均无效,则可以在/proc/$pid/oom\u score\u adj
下尝试oom\u score\u adj
oom\u score\u adj
接受从-1000
到1000
的值范围。降低该值,以减少被oom\u killer
杀死的可能性。如果将此值设置为-1000
,则禁用oom终止。但是,你应该知道你到底在做什么
希望这能给您一些想法。您需要编辑Q以显示日志的相关部分。如果你看到的只是“焦油过程被扼杀”,而没有任何理由或其他数据,那么我们没有办法提供帮助,除了把想法扔到墙上,看看有什么坚持住了。您可能会做得更好,因为更改版本似乎是罪魁祸首。祝你好运。一个更简单的方法…使用一个外部工具,如logrotate
为你做日志旋转-*压缩工作,并复制相应的压缩文件@Shelleter,日志上的字面意思是“被杀死”,我只见过进程消耗太多内存的情况。我在其他发行版/发行版中看到过,但这是我的备份脚本第一次以这种方式被删除。您需要编辑Q以显示日志的相关部分。如果你看到的只是“焦油过程被扼杀”,而没有任何理由或其他数据,那么我们没有办法提供帮助,除了把想法扔到墙上,看看有什么坚持住了。您可能会做得更好,因为更改版本似乎是罪魁祸首。祝你好运。一个更简单的方法…使用一个外部工具,如logrotate
为你做日志旋转-*压缩工作,并复制相应的压缩文件@Shelleter,日志上的字面意思是“被杀死”,我只见过进程消耗太多内存的情况。我在其他发行版/发行版中也看到过,但这是我的备份脚本第一次以这种方式被删除。