<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Some info from an old colleague on Linux facilities:</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature"><div id="AppleMailSignature">You could try the upower lib and daemon < <a href="https://upower.freedesktop.org/docs/">https://upower.freedesktop.org/docs/</a> >. </div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">If that's not available or you don't fancy it and you're running systemd you can probably knock something up via the  systemd-suspend.service < <a href="https://www.freedesktop.org/software/systemd/man/systemd-suspend.service.html">https://www.freedesktop.org/software/systemd/man/systemd-suspend.service.html</a> >. A bit Heath-Robinson though...</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">Or you could configure the acpid < <a href="https://linux.die.net/man/8/acpid">https://linux.die.net/man/8/acpid</a> >to notify you (via a socket or somesuch...).</div><br><span style="background-color: rgba(255, 255, 255, 0);">_,,,^..^,,,_ (phone)</span></div><div><br>On Mar 20, 2017, at 8:16 AM, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Hi All,<div><br></div><div>    I've just added tallying of idle time in the VM so that the system report can give more meaningful overheads to the GC information it reports.  Currently the VM tallies idle time in the innards of relinquishProcessorForMicroseconds:.  But it also needs to tally idle time across SLEEP/WAKE events.  May I ask experts in the Mac OS, X11 and Windows worlds to have a loop at event processing and either implement tallying idle time here or reporting back on what work is required or (as I fear in the case of X11/Unix) whether it is unsupported.</div><div><br></div><div>Here's an example of the nonsense one gets back after waking one's laptop:</div><div><div>Virtual Machine Statistics</div><div>--------------------------</div><div>uptime<span class="gmail-Apple-tab-span" style="white-space:pre">               </span>14h 59m 26s<span class="gmail-Apple-tab-span" style="white-space:pre">   </span>(runtime 11h 53m 33s, idletime 3h 5m 53s)</div><div>memory<span class="gmail-Apple-tab-span" style="white-space:pre">                </span>338,690,048 bytes</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>old<span class="gmail-Apple-tab-span" style="white-space:pre">                   </span>333,689,744 bytes (98.5%)</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>young<span class="gmail-Apple-tab-span" style="white-space:pre">         </span>4,111,360 bytes (1.2%)</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>used<span class="gmail-Apple-tab-span" style="white-space:pre">          </span>314,964,392 bytes (93%)</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>free<span class="gmail-Apple-tab-span" style="white-space:pre">          </span>21,991,672 bytes (6.5%)</div><div>GCs<span class="gmail-Apple-tab-span" style="white-space:pre">                     </span>3,430 (15733.6 ms between GCs 12482 ms runtime between GCs)</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>full<span class="gmail-Apple-tab-span" style="white-space:pre">          </span>8 totalling 1,331 ms (0% runtime), avg 166.4 ms</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                </span>marking<span class="gmail-Apple-tab-span" style="white-space:pre">               </span>536 ms (40.3%) avg 67 ms,</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                              </span>compacting<span class="gmail-Apple-tab-span" style="white-space:pre">    </span>795 ms (59.7%) avg 99.4 ms</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">     </span>scavenges<span class="gmail-Apple-tab-span" style="white-space:pre">     </span>3,422 totalling 2,511 ms (0.01% runtime), avg 0.7 ms</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>tenures<span class="gmail-Apple-tab-span" style="white-space:pre">               </span>818,889 (avg 239 tenures per scavenge)</div><div>Since last view<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>2,463 (21394 ms between GCs, 17285 ms runtime between GCs)</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">     </span>uptime<span class="gmail-Apple-tab-span" style="white-space:pre">                </span>52695.2 s, runtime 42574 s, idletime 10121.2 s</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>full<span class="gmail-Apple-tab-span" style="white-space:pre">          </span>2 totalling 322 ms (0% runtime), avg 161 ms</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>scavenge<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>2,461 totalling 2,029 ms (0% runtime), avg 0.8 ms</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>tenures<span class="gmail-Apple-tab-span" style="white-space:pre">               </span>16,733 (avg 6 tenures per scavenge)</div><div><br></div><div>whereas while the machine stays awake we get good information:</div><div><div>Virtual Machine Statistics</div><div>--------------------------</div><div>uptime<span class="gmail-Apple-tab-span" style="white-space:pre">           </span>1m 58s<span class="gmail-Apple-tab-span" style="white-space:pre">        </span>(runtime 0m 21s, idletime 1m 37s)</div><div>memory<span class="gmail-Apple-tab-span" style="white-space:pre">                </span>281,018,368 bytes</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>old<span class="gmail-Apple-tab-span" style="white-space:pre">                   </span>276,018,064 bytes (98.2%)</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>young<span class="gmail-Apple-tab-span" style="white-space:pre">         </span>4,111,360 bytes (1.5%)</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>used<span class="gmail-Apple-tab-span" style="white-space:pre">          </span>251,951,208 bytes (89.7%)</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>free<span class="gmail-Apple-tab-span" style="white-space:pre">          </span>26,712,592 bytes (9.5%)</div><div>GCs<span class="gmail-Apple-tab-span" style="white-space:pre">                     </span>37 (3203.5 ms between GCs 569.7 ms runtime between GCs)</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>full<span class="gmail-Apple-tab-span" style="white-space:pre">          </span>0 totalling 0 ms (0% runtime), avg 0 ms</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>scavenges<span class="gmail-Apple-tab-span" style="white-space:pre">     </span>37 totalling 13 ms (0.06% runtime), avg 0.4 ms</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>tenures<span class="gmail-Apple-tab-span" style="white-space:pre">               </span>648 (avg 17 tenures per scavenge)</div><div>Since last view<span class="gmail-Apple-tab-span" style="white-space:pre">       </span>30 (3498 ms between GCs, 590 ms runtime between GCs)</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>uptime<span class="gmail-Apple-tab-span" style="white-space:pre">                </span>104.9 s, runtime 17.7 s, idletime 87.2 s</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>full<span class="gmail-Apple-tab-span" style="white-space:pre">          </span>0</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>scavenge<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>30 totalling 11 ms (0.1% runtime), avg 0.4 ms</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>tenures<span class="gmail-Apple-tab-span" style="white-space:pre">               </span>0</div></div><div><br></div><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>
</div></blockquote></body></html>