国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

定時(shí)器調(diào)用getAllClientCount和getAllClientSessions,導(dǎo)致內(nèi)存溢出

liuping0207

問題描述

在onWorkerStart($worker)中啟動(dòng)一個(gè)10S定時(shí)器,該定時(shí)器每次調(diào)用getAllClientCount和getAllClientSessions查詢連接狀態(tài);結(jié)果每次調(diào)用內(nèi)存都在不斷的增長(zhǎng),最后導(dǎo)致內(nèi)存不夠進(jìn)程復(fù)位;執(zhí)行打印結(jié)果參考:
Print_Session_Info -----start-----使用: 8.66Mb
Print_Session_Info -----middle1------使用: 8.69Mb
Print_Session_Info -----middle1_1----使用: 8.71Mb
Print_Session_Info -----middle2------使用: 8.74Mb
Print_Session_Info -----middle2_1----使用: 8.76Mb


這里粘代碼或配置
系統(tǒng):Alibaba Cloud (Aliyun ) 2.1903 LTS (Hunting Beagle) x86_64(Py3.7.9)
Workerman version:4.0.40          PHP version:7.4.30
    public static function onWorkerStart($worker)
    {

            Timer::add(10, function () {
            Events::Print_Session_Info(1);
        });
    }

    public static function Print_Session_Info($flag)
    {
        echo "\nPrint_Session_Info -----start-----使用: ".number_format(memory_get_usage()/1024/1024, '2' , $dec_point = '.' , $thousands_sep = '')."Mb\n";
        Util::logger(Util::LOG_INFO,Util::DEV_GATEWAY_LP,"\n");
        Util::logger(Util::LOG_INFO,Util::DEV_GATEWAY_LP,">>>>>>>getAllClientCount: ".print_r(Gateway::getAllClientCount(),true));
        echo "\nPrint_Session_Info -----middle1------使用: ".number_format(memory_get_usage()/1024/1024, '2' , $dec_point = '.' , $thousands_sep = '')."Mb\n";
        Gateway::getAllClientCount();
        echo "\nPrint_Session_Info -----middle1_1----使用: ".number_format(memory_get_usage()/1024/1024, '2' , $dec_point = '.' , $thousands_sep = '')."Mb\n";
        $sessino_info = Gateway::getAllClientSessions();
        echo "\nPrint_Session_Info -----middle2------使用: ".number_format(memory_get_usage()/1024/1024, '2' , $dec_point = '.' , $thousands_sep = '')."Mb\n";
        Gateway::getAllClientSessions();
        echo "\nPrint_Session_Info -----middle2_1----使用: ".number_format(memory_get_usage()/1024/1024, '2' , $dec_point = '.' , $thousands_sep = '')."Mb\n";
    }
1164 1 1
1個(gè)回答

walkor 打賞

Print_Session_Info方法里的 Util::logger() 調(diào)用去掉試下

  • liuping0207 2023-04-18

    測(cè)試結(jié)果還是一樣的:

       echo "\nPrint_Session_Info -----start-----使用: ".number_format(memory_get_usage()/1024/1024, '2' , $dec_point = '.' , $thousands_sep = '')."Mb\n";
        Gateway::getAllClientCount();
        echo "\nPrint_Session_Info -----middle1------使用: ".number_format(memory_get_usage()/1024/1024, '2' , $dec_point = '.' , $thousands_sep = '')."Mb\n";
        Gateway::getAllClientCount();
        gc_collect_cycles();
        echo "\nPrint_Session_Info -----middle1_1----使用: ".number_format(memory_get_usage()/1024/1024, '2' , $dec_point = '.' , $thousands_sep = '')."Mb\n";
        $sessino_info = Gateway::getAllClientSessions();
        gc_collect_cycles();
        echo "\nPrint_Session_Info -----middle2------使用: ".number_format(memory_get_usage()/1024/1024, '2' , $dec_point = '.' , $thousands_sep = '')."Mb\n";
        Gateway::getAllClientSessions();
        gc_collect_cycles();
        echo "\nPrint_Session_Info -----middle2_1----使用: ".number_format(memory_get_usage()/1024/1024, '2' , $dec_point = '.' , $thousands_sep = '')."Mb\n";

    Print_Session_Info -----start-----使用: 3.59Mb
    Print_Session_Info -----middle1------使用: 3.61Mb
    Print_Session_Info -----middle1_1----使用: 3.64Mb
    Print_Session_Info -----middle2------使用: 3.67Mb
    Print_Session_Info -----middle2_1----使用: 3.69Mb

  • walkor 2023-04-18

    我這測(cè)試沒問題

  • liuping0207 2023-04-18

    會(huì)不會(huì)是PHP版本的問題

  • liuping0207 2023-04-18

    同樣的代碼,我在我另外一臺(tái)windows服務(wù)器上是正常的

年代過于久遠(yuǎn),無法發(fā)表回答
??