hotspot/src/os/solaris/vm/os_solaris.cpp
bool os::enable_vtime() {
{- -------------------------------------------
(1) /proc/self/ctl ファイルに対して,
{ PCSET, PR_MSACCT } という値を書き込み,
"virtual time" 計測機能を有効にする.
(<= なお, Solaris 10 以降ではこの操作は必要ない模様.
というか, デフォルト有効で無効に出来ないらしい ([参考](http://dtrace.org/blogs/eschrock/2004/10/13/microstate-accounting-in-solaris-10/))))
---------------------------------------- -}
int fd = ::open("/proc/self/ctl", O_WRONLY);
if (fd == -1)
return false;
long cmd[] = { PCSET, PR_MSACCT };
int res = ::write(fd, cmd, sizeof(long) * 2);
::close(fd);
if (res != sizeof(long) * 2)
return false;
return true;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.