Linux下 自定义多线程并发快速压缩解压缩脚本

文章目录

  • 自定义多线程压缩解压缩脚本
  • 使用


  • Linux下 自定义多线程并发快速压缩解压缩脚本

Linux下常用的tar工具无法支持并行 压缩和解压,对于大量小文件的解压缩,可借助pigz工具实现多线程并行工作,实现更为高效的压缩和解压缩。


自定义多线程压缩解压缩脚本

首先安装 pigz创建脚本 mypigz

#! /bin/bash
name=$1
dir=$2function pin_thread2core() 
{ps -efT | grep pigz | grep -v "grep"pid=$(ps -efT | grep pigz | grep -v "grep" | awk '{print $3}')echo $pidcoreid=2for val in $piddoecho "taskset -cp $coreid $val"taskset -cp $coreid $val((coreid++))done
}cmdline=`cat  /proc/cmdline`
coremask=${cmdline#*isolated_cores=}
echo coremask: $coremaskif [ "$coremask"x = x ]; thenecho "Invalid coremask"coremask=1-10
fiif [ $# -ge 2 ];then#压缩echo "start compress"time taskset -c $coremask tar cf - $dir | taskset -c $coremask pigz -6 -p 10 -k > $name.tar.gz &pin_thread2core
else#解压echo "start decompress: $name"time pigz -p 10 -d $name & pin_thread2core  tarname=$(basename $name .gz) waittime taskset -c $coremask tar xf  $tarname
fiwait

使用

#压缩
./mypigz 文件名 目录
#解压
./mypigz 压缩包名

The End.


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/239747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【分享】4个方法打开PDF文件

PDF是很多人工作中经常使用的电子文档格式,但是可能有些刚接触的小伙伴不知道用什么工具来打开PDF文件,今天小编就来分享一下4种常用的工具。 1. 使用浏览器 只要有电脑基本都会安装一到两款浏览器,其实浏览器也可以用来打开PDF文件。 只需…

B2122 单词翻转

B2122 单词翻转 [B2122 单词翻转](https://www.luogu.com.cn/problem/B2122?contestId150480 B2122 单词翻转 题意 输入一串字符,将它倒着输出,但是,单词之间要换行,才能输出。 思路 先写for循环,在往上…

python 用OpenCV 将图片转视频

import os import cv2 import numpy as npcv2.VideoWriter()参数 cv2.VideoWriter() 是 OpenCV 中用于创建视频文件的类。它的参数如下: filename:保存视频的文件名。 fourcc:指定视频编解码器的 FourCC 代码&#xf…

经常使用的排序算法

一、直接插入排序 #include <stdio.h>void insert_sort(int arr[], int n){int i, j, tmp;for (i 1; i < n; i){tmp arr[i];j i - 1;while (j > 0 && arr[j] > tmp){ // 将要插入的元素与数组中的元素比较&#xff08;从后向前比&#xff09;arr[j …

Redis可视化工具Redis Desktop Manager mac功能特色

Redis Desktop Manager mac是一款非常实用的Redis可视化工具。RDM支持SSL / TLS加密&#xff0c;SSH隧道&#xff0c;基于SSH隧道的TLS&#xff0c;为您提供了一个易于使用的GUI&#xff0c;可以访问您的Redis数据库并执行一些基本操作&#xff1a;将键视为树&#xff0c;CRUD键…

【springboot】功能合集

目录 全局监听请求&#xff1a;HandlerInterceptor创建拦截器类添加拦截器拦截器类调用Service服务 全局异常处理&#xff1a;ExceptionHandler统一处理业务异常自定义JsonResult 全局跨域配置&#xff1a;WebMvcConfigurer静态(static)方法中调用接口&#xff08;Service层&am…

PDF.js介绍以及使用

一、PDF.js是什么 PDF.js是一个JavaScript库&#xff0c;可以在现代Web浏览器中渲染和显示PDF文件。它的主要作用是将PDF文件转换为HTML5格式&#xff0c;以便在浏览器上进行展示和交互。 PDF.js的主要功能包括&#xff1a; 在浏览器中显示PDF&#xff1a;PDF.js使用HTML5的…

hab_virtio hypervisor 虚拟化

Linux的 I / O 虚拟化 Virtio 框架 简而言之&#xff0c;virtio是半虚拟化管理程序中设备上的抽象层。virtio由Rusty Russell开发以支持他自己的虚拟化解决方案lguest。本文从准虚拟化和仿真设备的介绍开始&#xff0c;然后探讨的细节virtio。重点是virtio2.6.30内核发行版中的…

Pytorch:torch.sum()函数用法

torch.sum() 先看看官网描述&#xff1a;https://pytorch.org/docs/stable/generated/torch.sum.html#torch.sum 函数torch.sum有两种形式&#xff1a; 第一种&#xff1a;   torch.sum(input, *, dtypeNone) → Tensor .   Returns the sum of all elements in the inp…

【华为数据之道学习笔记】6-4 打造数据供应的“三个1”

数据服务改变了传统的数据集成方式&#xff0c;所有数据都通过服务对外提供&#xff0c;用户不再直接集成数据&#xff0c;而是通过服务获取。因此&#xff0c;数据服务应该拉动数据供应链条的各个节点&#xff0c;以方便用户能准确地获取数据为重要目标。 数据供应到消费的完整…

Deployment Controller详解(上)

上一篇在《Kubectl 部署无状态应用》中介绍了如何使用 Deployment 部署五个 hello world 实例时&#xff0c;我们并没有详细探讨 Deployment Controller 的各项功能。因此&#xff0c;本文将深入介绍 Deployment Controller 的作用以及它能够完成的任务。 本文来自官方文档梳理…

深入理解依赖反转原则(DIP)

依赖反转原则是一个比较重要的架构原则&#xff0c;从定义上看是要依赖于抽象&#xff0c;不要依赖于细节&#xff0c; 这个听起来很简单&#xff0c;好像加个接口就完事了&#xff0c;大家的service都是一个接口配一个实现类&#xff0c;是不是依赖倒置呢&#xff1f;很显然不…

第11章 GUI Page417~418 步骤五 支持方框 使用宏定义

运行效果&#xff1a; 原来的创建item的方式&#xff1a; 使用宏定义的方式&#xff1a;

Java之LinkedList核心源码解读

LinkedList核心源码解读 LinkedList 是一个基于双向链表实现的集合类&#xff0c;经常被拿来和 ArrayList 做比较 LinkedList 插入和删除元素的时间复杂度&#xff1f; 头部插入/删除&#xff1a;只需要修改头结点的指针即可完成插入/删除操作&#xff0c;因此时间复杂度为 O…

PHP数组定义和输出

数组就是一组数据的集合&#xff0c;把一系列数据组织起来&#xff0c;形成一个可操作的整体。 PHP中的数组与Java的数组不一样&#xff0c;需要有key&#xff08;键&#xff09;和value&#xff08;值&#xff09;&#xff0c;相当于Java中数组和键值对的结合。 数组的定义 …

redis 从0到1完整学习 (六):Hash 表数据结构

文章目录 1. 引言2. redis 源码下载3. dict 数据结构4. 哈希表扩容与 rehash5. 参考 1. 引言 前情提要&#xff1a; 《redis 从0到1完整学习 &#xff08;一&#xff09;&#xff1a;安装&初识 redis》 《redis 从0到1完整学习 &#xff08;二&#xff09;&#xff1a;red…

【Linux笔记】用户和权限管理基本命令介绍

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Linux学习 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 ​编辑 前言&#xff1a; 命令&#xff1a; whoami&#xff1a; passwd&#xff1a; useradd&#xff1a; userdel&#xff1a; chm…

37.常用shell之 nano / vi / vim - 文本编辑器 的用法及衍生用法

nano, vi, 和 vim 是在类 Unix 系统中常用的文本编辑器&#xff0c;每个都有其特定的用法和功能集。 nano nano 是一个简单易用的文本编辑器&#xff0c;适合初学者和那些需要轻量级编辑器的用户。 基本用法&#xff1a; 打开或创建文件&#xff1a;nano filename这会打开 fi…

css 实现满屏升空的气球动画

最终实现效果 demo放在最后了。。。。 问题一 怎么实现满屏气球&#xff1f;简单理解就是多个气球的合并&#xff0c;难道要写多个盒子吗&#xff1f;确实是这样子&#xff0c;但可以有更好的办法&#xff0c;其实就是通过原生操作多个盒子生成&#xff0c;所以只需要实现一个…

智能优化算法应用:基于人工大猩猩部队算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于人工大猩猩部队算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于人工大猩猩部队算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工大猩猩部队算法4.实验参…