Linux nice命令,结合xz命令

文章介绍了Linux中的nice命令用于调整程序的执行优先级,以及XZ命令进行高压缩比的文件压缩和解压缩操作,包括参数解释和使用示例。nice命令允许用户改变程序的CPU时间分配,而XZ提供比gzip和bzip2更高的压缩率,且支持调整内存使用和多线程压缩。
摘要由CSDN通过智能技术生成

一、nice命令

   Linux nice命令以更改过的优先序来执行程序,如果未指定程序,则会印出目前的排程优先序,内定默认的 adjustment 为 10,范围为 -20(最高优先序)到 19(最低优先序)

使用权限:所有使用者。

语法

nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]

参数说明

  • -n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment
  • --help 显示求助讯息
  • --version 显示版本资讯

实例

设置程序运行时的优先级

# vi & //后台运行
[1] 15297
# nice vi & //设置默认优先级
[2] 15298

[1]+ Stopped         vi
# nice -n 19 vi & //设置优先级为19
[3] 15299

[2]+ Stopped         nice vi
# nice -n -20 vi & //设置优先级为 -20
[4] 15300

[3]+ Stopped         nice -n 19 vi
# ps -l //显示进程
F S  UID  PID PPID C PRI NI ADDR SZ WCHAN TTY     TIME CMD
4 S   0 15278 15212 0 80  0 - 1208 wait  pts/2  00:00:00 bash
0 T   0 15297 15278 0 80  0 - 2687 signal pts/2  00:00:00 vi
0 T   0 15298 15278 0 90 10 - 2687 signal pts/2  00:00:00 vi
0 T   0 15299 15278 1 99 19 - 2687 signal pts/2  00:00:00 vi
4 T   0 15300 15278 3 60 -20 - 2687 signal pts/2  00:00:00 vi
4 R   0 15301 15278 0 80  0 -  625 -   pts/2  00:00:00 ps

[4]+ Stopped         nice -n -20 vi

将 ls 的优先序加 1 并执行

nice -n 1 ls

将 ls 的优先序加 10 并执行

nice ls

注意:

   优先序 (priority) 为操作系统用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU时间就越多。

二、xz命令

2.1、XZ 基础信息

米妮文学网 m.amini.net

XZ 压缩比比较高,在这里没有进行详细对比。

官网链接: https://tukaani.org/xz/

官网介绍到: 压缩后的文件大小 gzip 小30%,比bzip2小15%。

我测试 一个 112M 的文件,xz 压缩完后 4.5M, gz 压缩完后 16M, biz2 缩完后7.6M.
压缩比: xz >biz2 > gzip

2.2、安装

  1. yum install epel-release

  2. yum install xz

2.3、详解

2.3.1、常用的参数

默认压缩后的文件后缀为 xz

  1. -z 强制执行压缩, 默认不保留源文件。压缩后的文件名为源文件.xz

  2. -d 强制执行解压缩

  3. -l 列出压缩文件的信息

  4. -k 保留源文件不要删除

  5. -f 强制覆盖输出文件和压缩链接

  6. -c 写入到标准输出,输入文件不要删除

  7. -0..-9 压缩比例,默认为6

  8. -e 使用更多的 CPU time 来进行压缩,提高压缩率。不会影响解压时所需要的内存。

  9. -T 指定线程数,默认是 1 ,当设置为 0 时使用和机器核心一样多的线程。

  10. --format= 指定压缩输出格式,可以是 raw、xz、lzma

  11. -v 显示更详细的信息

注意点: 压缩后的文件时在和源文件同一个目录。当我们压缩的文件为 /home/nginx/logs/error.log-20191126 ,当我们在任意目录执行完 xz /home/nginx/logs/error.log-20191126 后,压缩后的文件路径是 /home/nginx/logs/error.log-20191126.xz.

2.3.2、 常用命令

xz 进行压缩的时候,默认使用的内存为 总内存的 5% 左右。

  • 压缩文件(源文件不保留)
xz   /home/nginx/logs/error.log-20191126
  • 压缩文件(源文件保留)
xz -k /home/nginx/logs/error.log-20191126

压缩的时候设定最大使用内存 --memlimit-compress= 示例:--mem‐
limit-compress=80MiB

  • 解压缩文件
xz -d  /home/nginx/logs/error.log-20191126.xz

或者

unxz  /home/nginx/logs/error.log-20191126.xz 

解压缩的时候设定最大使用内存 --memlimit-decompress=

  • 指定多线程数来进行压缩
xz -T 4  /home/nginx/logs/error.log-20191126

2.4、扩展

2.4.1、unxz

xz 压缩包的解压命令

2.4.2、xzcat

xz --decompress --stdout
查看压缩文件的内容

2.4.3、lzma

xz --format=lzma
压缩格式为 lzma

2.4.4、unlzma

xz --format=lzma --decompress
解压 压缩格式为 lzma 的压缩包

2.4.5、lzcat

xz --format=lzma --decompress --stdout

三、结合使用

对大文件进行压缩,同时降低压缩线程的CPU占用率,可以使用下面命令

nice -n 19 xz -0 -T 4 /home/nginx/logs/error.log-20191126
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值