Skip to main content

用nice命令降低网站打包过程中tar命令的优先级

朋友有一个配置不高的VPS,只有1G的内存,但是内容特别多,近10个G。他按照我在网站备份一文中所诉的方法,在给网站打包的过程中,cpu的占用很高,耗时会在一个小时左右,导致网站访问困难,而且内存用光后还会导致mariadb服务重启,他问我该怎么办?

先说最简单的方法——加钱,把VPS内存升级到2G,享受丝般顺滑!被他否决了。

我问他用什么命令打包,他说他用的是7zip的7za命令。我推荐他用linux自带的tar命令,而且不要带"-z"参数,因为tar如果用了"-z"参数,就会对打包内容进行压缩,而压缩是非常消耗cpu资源的。他试了试,感觉不错,不过网站还是有访问困难的情况。

nice命令

我让他在tar命令之前再加一个nice命令,大致如下:

nice -n 19 tar -cPf /root/bak/beifen.tar /home/

Linux的nice命令可以改变程序执行时候的优先级,最高优先级为-20,最低优先级为19。上面的"nice -n 19"的意思就是告诉系统,用最低的优先级来运行tar命令,在打包的过程中,如果有访客访问网站,优先处理apache、php和mariadb服务,这样可以避免tar命令争抢资源。他再试了试,表示满意 : )