linux显示进程执行进度

什么是 pv

pv(Pipe Viewer) 是一个 Linux/Unix 下的命令行工具,用于监控通过管道(pipe)传输的数据流。它可以显示数据传输的进度、速度、已传输数据量和预计剩余时间等信息。pv 常用于需要监控大数据量传输的场景,例如文件复制、备份、压缩或导出操作(如 docker export)。

主要功能
  • 进度条:显示数据传输的进度(百分比或已传输字节)。
  • 传输速度:实时显示数据传输速率(如 MB/s)。
  • 预计时间:估算传输完成所需的时间。
  • 数据量统计:显示已传输的总数据量。
  • 可配置性:支持自定义显示格式、单位等。
示例输出

运行以下命令:

docker export 681d6e7e5faf | pv > /mnt/guo/image/vllm_docker_image.tar

可能的输出类似:

1.23GiB 0:01:45 [11.7MiB/s] [=========> ] 65% ETA 0:00:58
  • 1.23 GiB:已传输的数据量。
  • 0:01:45:已用时间。
  • [11.7 MiB/s]:当前传输速度。
  • [=========> ] 65%:进度条和百分比。
  • ETA 0:00:58:预计剩余时间。
安装 pv
  • Ubuntu/Debian
    sudo apt-get update
    sudo apt-get install pv
    
  • CentOS/RHEL
    sudo yum install pv
    
  • MacOS(使用 Homebrew):
    brew install pv
    
常见用法
  1. 监控管道传输

    cat large_file.tar | pv | tar -x
    

    显示解压 tar 文件的进度。

  2. 指定文件大小(如果已知):
    如果知道数据大小,可以用 -s 参数提高进度准确性:

    docker export 681d6e7e5faf | pv -s 2G > /mnt/guo/image/vllm_docker_image.tar
    

    其中 -s 2G 表示预计数据大小为 2 GB。

  3. 与其他工具结合
    常与 targzipdddocker export 等命令配合使用。

为什么适合您的场景?

在您之前的提问中,docker export 不显示进度,而导出容器可能涉及大文件(GB 级别)。pv 可以插入到管道中,实时监控 docker export 的输出流,帮助您了解导出进度和剩余时间。

注意事项
  • 权限:结合您之前的权限问题(-bash: /mnt/guo/image/vllm_docker_image.tar: Permission denied),确保目标目录 /mnt/guo/image 对用户 pcljgy 可写,或使用 sudo bash -c
    sudo bash -c "docker export 681d6e7e5faf | pv > /mnt/guo/image/vllm_docker_image.tar"
    
  • 大小未知pv 默认需要估算数据大小。如果大小未知,进度条可能不准确,但仍会显示传输速度和数据量。
  • 性能开销pv 的开销极低,对 docker export 的性能影响可忽略。

推荐

如果您希望监控 docker export 的进度,安装 pv 并使用以下命令:

sudo apt-get install pv  # 或 sudo yum install pv
sudo bash -c "docker export 681d6e7e5faf | pv > /mnt/guo/image/vllm_docker_image.tar"

如果您知道容器大小(通过 docker inspect 681d6e7e5faf | grep Size),可以用 -s 参数提高进度准确性。

如果有其他问题或需要进一步解释,请告诉我!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值