The profiler uses a shared memory area to detect locally running profiled applications. If the shared memory area cannot be created or accessed, the profiler cannot detect the JVMs or their profiling status.
The profiler UI (since 9.5.4) attempts to detect this problem and open these troubleshooting instructions. Also, the problem can be identified by the following line in the profiler UI log:
fill markers returned null
The following line in the profiler agent log file indicates a problem with shared memory size limit, which prevents the profiler from detecting locally running profiled applications:
shmem marker: shmget(): errno=12 Cannot allocate memory
To check the limits, please run the following command:
sysctl -a | grep shm
Its output will be like this:
which specifies the total size (in bytes) of all shared memory areas
that can be created on the system.
To list existing shared memory areas please run:
The output may be like this (some lines are skipped):
m 65537 0x07021999 --rw-r--r-- user user user user 2 size ...
m 65537 0x07021999 --rw-r--r-- user user user user 5 size ...
Sum of all sizes will give the total used shared memory size (in bytes).
The difference of the
kern.sysv.shmmax value and the sum of existing area sizes
is the available shared memory on your system.
Most likely, it is less than the size of YourKit shared memory area - 1,075,740 bytes.
To solve the problem, please increase the
shmall is the maximum amount of shared memory measured in pages,
and it is generally
shmmax divided by 4096.
The following Apple support article describes how to set the values: http://support.apple.com/kb/HT4022
As a workaround, you can use 'Connect to remote application' instead,
localhost as the host name.