微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何测量/节流卷曲内存使用?

如何解决如何测量/节流卷曲内存使用?

curl 可执行文件将其输出重定向到 stdout 时,其内存使用量是否与下载内容的总大小成正比?

如果我下载一个带有 curl 的 1GB tgz 并通过管道传输到 tar -- 如下例所示 -- 使用的内存是否与 1GB 成正比?

curl -sSl https://path/to/1GB_file.tar.gz | tar -xvxf - -C /

如果答案是“是”,那么有没有办法“节流”或限制 curl 使用的最大内存,而不会彻底导致下载本身失败?

有没有一种方法可以测量 curl 在下载给定文件时使用了多少内存(动态或最大值)?

解决方法

我将提供这个作为答案,但它是从新的阅读/发现中拼凑而成的,所以这可能并不理想。

生成 curl 进程后,我在进程仍在运行时快速确定它的 pid,并在另一个 shell 中运行 grep VmPeak /proc/<pid>/status。这样做几次,希望在 curl 过程结束时接近,这样您就会得到一个真正全面的峰值。

对于 1.7GB 的文件,curl 似乎使用了 223016 kB 的峰值。

认为这意味着 curl 并没有严格地使用与目标文件大小成比例的内存(即 >= 目标文件大小)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。