不要对md5file.read()计算md5值
最近遇到的一个问题,我使用以下代码对备份文件计算MD5值:
# md5file=open("%s" % outputpath, 'rb')
# md5=hashlib.md5(md5file.read()).hexdigest()
# md5file.close()
导致了部分备份节点的guestagent被kill,发生了oom现象。
后来调查原因:是因为被计算的文件大小过大,上面的代码需要将文件全部读到内存中才能计算MD5。当此文件过大时,会导致内存超出配额,触发了oom。
现在已经改成老老实实的用linux命令计算MD5了:
md5cmd="md5sum "+ "%s" % outputpath
status, output = commands.getstatusoutput(md5cmd)
md5 = output.split()[]
不要对md5file.read()计算md5值的更多相关文章
- Windows下计算md5值
目录 Windows下计算md5值 1.linux 下计算md5值 2.Windows下计算md5值 Windows下计算md5值 1.linux 下计算md5值 [root@master yl]# ...
- 计算 MD5值
// // MD5Value.h // iOSEdu // // Created by littest on 16/2/26. // Copyright © 2016年 littest. All ri ...
- shell 批量计算MD5值
#!/bin/sh #需要计算MD5文件列表 # list=`ls` list="file list" for file in $list do file1=`` echo &qu ...
- python计算md5值
from hashlib import md5 m = md5(') print m.hexdigest()
- Html5计算MD5值
教程: http://www.tuicool.com/articles/InEBNz 组件: https://github.com/satazor/js-spark-md5
- C#计算文件的MD5值实例
C#计算文件的MD5值实例 MD5 是 Message Digest Algorithm 5(信息摘要算法)的缩写,MD5 一种散列(Hash)技术,广泛用于加密.解密.数据签名和数据完整性校验等方面 ...
- c#计算文件的MD5值
代码: /// <summary> /// 计算文件的 MD5 值 /// </summary> /// <param name="fileName" ...
- python计算文件的md5值
前言 最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可.这个想法在windows的pc端下测试没有问题. 但是当 ...
- 计算字符串和文件的MD5值
//计算字符串的MD5值 public string GetMD5(string sDataIn) { MD5CryptoServiceProvider md5 = new MD5CryptoServ ...
随机推荐
- FTP大量数据(百万级数据)传输尝试
接上篇<Java FTPClient 大量数据传输的问题(未解决)> 因为数据量过大 FTPClient获取文件列表信息会出现不稳定的问题,找了很多方法都没有解决. 网上找的这一篇文章 h ...
- redis配置文件中常用配置详解
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/suprezheng/article/de ...
- 基于RabbitMQ的MQTT协议及应用
MQTT的开源代码地址先贴在这里:https://github.com/mqtt/mqtt.github.io/wiki/servers MQTT定义: MQTT(Message Queuing Te ...
- jvm问题汇总
1.软引用.弱引用.虚引用-他们的特点及应用场景?
- (转)如何判断VPS是基于哪种虚拟技术?Xen、OpenVZ、Xen HVM、KVM还是VMware
对于VPS新手来说,怕被无良的奸商给忽悠,下的Xen的却给的OpenVZ的,如何来判断自己买的VPS是那种虚拟技术的,下面VPS侦探整理一些常见的方法. 1.通过系统上的相关目录或文件判断 执行:ls ...
- MVC 实例详解,蛮好的,适合新手
https://blog.csdn.net/f627422467/article/category/6360437
- JS: 随机点名程序与万年历
随机点名程序 document.write(Math.random()); var stu = ["张三", "王五", "张二", &qu ...
- Xcode8.0+和最新的Xcode9.0beta安装Alcatraz插件
1.安装Alcatraz 1.1终端中输入 rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/Alcatraz ...
- GDOI#345. 送礼物「JSOI 2015」01分数规划+RMQ
题目描述 JYY和CX的结婚纪念日即将到来,JYY来到萌萌开的礼品店选购纪念礼物.萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都排成一列,而且相邻的礼物之间有一种神秘的美感.于是,JYY决定从中 ...
- Makefile入门1
Linux中的编译脚本Makefile的讲解设计 概念 编译控制脚本(.c.h----->bin) Makefile最终要的是清晰编译链接的整个过程 Makefile的优化设计 工作原理 mak ...