Top


定義場所(file name)

hotspot/src/os/solaris/vm/os_solaris.cpp

名前(function name)

bool os::enable_vtime() {

本体部(body)

  {- -------------------------------------------
  (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.