<p><br/><img src="/storage/ueditor/image/20201127/1606484711718326.png" alt="1606484711718326.png"/></p><pre class="brush:php;toolbar:false"><pre style="background-color:#ffffff;color:#080808;font-family:'JetBrains Mono';font-size:11.3pt;"><span style="color:#660000;background-color:#f7faff;"><br/><br/>$fp </span><span style="background-color:#f7faff;">= </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">popen</span><span style="background-color:#f7faff;">(</span><span style="color:#067d17;background-color:#f7faff;">'top -b -n 2 | grep -E "(Cpu\(s\))|(KiB Mem)"'</span><span style="background-color:#f7faff;">, </span><span style="color:#067d17;background-color:#f7faff;">"r"</span><span style="background-color:#f7faff;">);<br/></span><span style="color:#660000;background-color:#f7faff;">$res </span><span style="background-color:#f7faff;">= </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">fread</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$fp</span><span style="background-color:#f7faff;">, </span><span style="color:#1750eb;background-color:#f7faff;">1024</span><span style="background-color:#f7faff;">);<br/></span><span style="color:#0033b3;background-color:#f7faff;">if </span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$res</span><span style="background-color:#f7faff;">){<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">pclose</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$fp</span><span style="background-color:#f7faff;">);<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">var_dump</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$res</span><span style="background-color:#f7faff;">);<br/></span><span style="background-color:#f7faff;"><br/></span><span style="background-color:#f7faff;"> </span><span style="color:#660000;background-color:#f7faff;">$sys_info </span><span style="background-color:#f7faff;">= </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">explode</span><span style="background-color:#f7faff;">(</span><span style="color:#067d17;background-color:#f7faff;">"</span><span style="color:#0037a6;background-color:#f7faff;">\n</span><span style="color:#067d17;background-color:#f7faff;">"</span><span style="background-color:#f7faff;">, </span><span style="color:#660000;background-color:#f7faff;">$res</span><span style="background-color:#f7faff;">);<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#660000;background-color:#f7faff;">$cpu_info </span><span style="background-color:#f7faff;">= </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">explode</span><span style="background-color:#f7faff;">(</span><span style="color:#067d17;background-color:#f7faff;">","</span><span style="background-color:#f7faff;">, </span><span style="color:#660000;background-color:#f7faff;">$sys_info</span><span style="background-color:#f7faff;">[</span><span style="color:#1750eb;background-color:#f7faff;">2</span><span style="background-color:#f7faff;">]);<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#660000;background-color:#f7faff;">$cpu_usage </span><span style="background-color:#f7faff;">= </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">trim</span><span style="background-color:#f7faff;">(</span><span style="color:#000000;background-color:#f7faff;font-style:italic;">trim</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$cpu_info</span><span style="background-color:#f7faff;">[</span><span style="color:#1750eb;background-color:#f7faff;">0</span><span style="background-color:#f7faff;">], </span><span style="color:#067d17;background-color:#f7faff;">'%Cpu(s): '</span><span style="background-color:#f7faff;">), </span><span style="color:#067d17;background-color:#f7faff;">'us'</span><span style="background-color:#f7faff;">); </span><span style="color:#8c8c8c;background-color:#f7faff;font-style:italic;">//</span><span style="color:#8c8c8c;background-color:#f7faff;font-style:italic;font-family:'宋体';">百分比<br/></span><span style="color:#8c8c8c;background-color:#f7faff;font-style:italic;font-family:'宋体';"><br/></span><span style="color:#8c8c8c;background-color:#f7faff;font-style:italic;font-family:'宋体';"> </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">var_dump</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$cpu_usage</span><span style="background-color:#f7faff;">);<br/></span><span style="background-color:#f7faff;"><br/></span><span style="background-color:#f7faff;"> </span><span style="color:#660000;background-color:#f7faff;">$mem_info </span><span style="background-color:#f7faff;">= </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">explode</span><span style="background-color:#f7faff;">(</span><span style="color:#067d17;background-color:#f7faff;">","</span><span style="background-color:#f7faff;">, </span><span style="color:#660000;background-color:#f7faff;">$sys_info</span><span style="background-color:#f7faff;">[</span><span style="color:#1750eb;background-color:#f7faff;">3</span><span style="background-color:#f7faff;">]); </span><span style="color:#8c8c8c;background-color:#f7faff;font-style:italic;">//</span><span style="color:#8c8c8c;background-color:#f7faff;font-style:italic;font-family:'宋体';">内存占有量 数组<br/></span><span style="color:#8c8c8c;background-color:#f7faff;font-style:italic;font-family:'宋体';"> </span><span style="color:#660000;background-color:#f7faff;">$mem_total </span><span style="background-color:#f7faff;">= </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">trim</span><span style="background-color:#f7faff;">(</span><span style="color:#000000;background-color:#f7faff;font-style:italic;">trim</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$mem_info</span><span style="background-color:#f7faff;">[</span><span style="color:#1750eb;background-color:#f7faff;">0</span><span style="background-color:#f7faff;">], </span><span style="color:#067d17;background-color:#f7faff;">'KiB Mem : '</span><span style="background-color:#f7faff;">), </span><span style="color:#067d17;background-color:#f7faff;">' total'</span><span style="background-color:#f7faff;">);<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#660000;background-color:#f7faff;">$mem_used </span><span style="background-color:#f7faff;">= </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">trim</span><span style="background-color:#f7faff;">(</span><span style="color:#000000;background-color:#f7faff;font-style:italic;">trim</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$mem_info</span><span style="background-color:#f7faff;">[</span><span style="color:#1750eb;background-color:#f7faff;">2</span><span style="background-color:#f7faff;">], </span><span style="color:#067d17;background-color:#f7faff;">'used'</span><span style="background-color:#f7faff;">));<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#660000;background-color:#f7faff;">$mem_usage </span><span style="background-color:#f7faff;">= </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">round</span><span style="background-color:#f7faff;">(</span><span style="color:#1750eb;background-color:#f7faff;">100 </span><span style="background-color:#f7faff;">* </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">intval</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$mem_used</span><span style="background-color:#f7faff;">) / </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">intval</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$mem_total</span><span style="background-color:#f7faff;">), </span><span style="color:#1750eb;background-color:#f7faff;">2</span><span style="background-color:#f7faff;">); </span><span style="color:#8c8c8c;background-color:#f7faff;font-style:italic;">//</span><span style="color:#8c8c8c;background-color:#f7faff;font-style:italic;font-family:'宋体';">百分比<br/></span><span style="color:#8c8c8c;background-color:#f7faff;font-style:italic;font-family:'宋体';"> </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">var_dump</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$mem_usage</span><span style="background-color:#f7faff;">);<br/></span><span style="background-color:#f7faff;"><br/></span><span style="background-color:#f7faff;"><br/></span><span style="background-color:#f7faff;"> </span><span style="color:#0033b3;background-color:#f7faff;">if </span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$cpu_usage </span><span style="background-color:#f7faff;">>= </span><span style="color:#1750eb;background-color:#f7faff;">30</span><span style="background-color:#f7faff;">){<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">var_dump</span><span style="background-color:#f7faff;">(</span><span style="color:#067d17;background-color:#f7faff;">'CPU</span><span style="color:#067d17;background-color:#f7faff;font-family:'宋体';">占用 超过</span><span style="color:#067d17;background-color:#f7faff;"> 30%</span><span style="color:#067d17;background-color:#f7faff;font-family:'宋体';">,等待占用减少之后,再继续消费队列</span><span style="color:#067d17;background-color:#f7faff;">……'</span><span style="background-color:#f7faff;">);<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#0033b3;background-color:#f7faff;">return</span><span style="background-color:#f7faff;">;<br/></span><span style="background-color:#f7faff;"> }<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#0033b3;background-color:#f7faff;">if </span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$mem_usage </span><span style="background-color:#f7faff;">>= </span><span style="color:#1750eb;background-color:#f7faff;">30</span><span style="background-color:#f7faff;">){<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#000000;background-color:#f7faff;font-style:italic;">var_dump</span><span style="background-color:#f7faff;">(</span><span style="color:#067d17;background-color:#f7faff;">'</span><span style="color:#067d17;background-color:#f7faff;font-family:'宋体';">内存占用 超过</span><span style="color:#067d17;background-color:#f7faff;"> 30%</span><span style="color:#067d17;background-color:#f7faff;font-family:'宋体';">,等待占用减少之后,再继续消费队列</span><span style="color:#067d17;background-color:#f7faff;">……'</span><span style="background-color:#f7faff;">);<br/></span><span style="background-color:#f7faff;"> </span><span style="color:#0033b3;background-color:#f7faff;">return</span><span style="background-color:#f7faff;">;<br/></span><span style="background-color:#f7faff;"> }<br/></span><span style="background-color:#f7faff;">}</span></pre></pre><p><br/></p>
评论/回复