Rumah  >  Soal Jawab  >  teks badan

python 2.7记录日志的问题IOError: [Errno 24] Too many open files

伊谢尔伦伊谢尔伦2741 hari yang lalu1170

membalas semua(4)saya akan balas

  • PHPz

    PHPz2017-04-18 10:09:15

    fh =logging.FileHandler(BASE_DIR+'/log/'+username+'_'+GetNowTime()+'_'+str(random.random())+'.log')
    
    这个你每一次创建的handler对象有没有调用`fh.close()`来清除此hander的所拥有的资源。
    

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:09:15

    Terlalu banyak fail dibuka Secara umumnya, lalai ialah maksimum 1024 fail
    Anda perlu meningkatkan nilai ini dan mengesahkan bilangan fail yang boleh dilaksanakan dengan melaksanakan ulimit -a. dalam
    Lebih banyak tersedia Rujukan: http://askubuntu.com/question...

    balas
    0
  • 阿神

    阿神2017-04-18 10:09:15

    logger = logging.getLogger('mylogger'+str(time.time()))
    Ada masalah dengan ayat ini Jika anda tidak menjalankan get_task2 sekali, anda akan mendapat pemegang fail anda menjalankannya terlalu banyak kali, sudah tentu ia akan melebihi!

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 10:09:15

    logger = logging.getLogger('mylogger'+str(time.time()))
    

    Cara penulisan ini sememangnya buruk dan potensi risikonya terlalu tinggi. Adalah tidak munasabah untuk menjana log berasingan untuk setiap permintaan. Sistem Linux sendiri juga mempunyai had bilangan fail dalam direktori Jika terdapat terlalu banyak permintaan, had atas akan dicapai dan ralat akan berlaku.

    Mengenai sama ada pengendali ditutup atau tidak, ia hanya boleh dikatakan sebagai ralat pengaturcaraan, tetapi mempunyai log berasingan untuk setiap permintaan adalah cara berfikir yang salah.

    balas
    0
  • Batalbalas