zoukankan      html  css  js  c++  java
  • 不要对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()[0]
  • 相关阅读:
    POJ 2689
    NEFU 109
    HDU 2098
    NEFU 2
    NEFU 117
    NEFU 84
    POJ 1061
    NEFU116 GCD
    NEFU 115
    HDU 2099
  • 原文地址:https://www.cnblogs.com/S-tec-songjian/p/10189713.html
Copyright © 2011-2022 走看看