|
Frequently Asked Questions (FAQ)
General
Requirements
Installation
User Interface
Others
General 1. How long does the Zoom evaluation license last? 14 days. 2. What does buying a Zoom license get me? A license gives you high-priority tech-support, and it gets you free software upgrades for one year from the date of purchase.
You also get the satisfaction of helping a small software company keep making great products! 3. Can RotateRight help me improve the performance of my code or system? Certainly! We have plenty of experience in general and platform-specific code optimization, and we're happy to take on contract projects. Send us a note and let us know what you have in mind. 4. What does the name "RotateRight" mean? RotateRight is both a low-level bit operation and what we hope to do for your code: change it for the better. 5. How will my personal information be used? Please refer to our privacy policy. Requirements 1. My favorite flavor of Linux isn't on the list of supported distributions. Do you support it? Zoom should run on other Linux distributions based on kernel 2.6.15 or later. RHEL4 with kernel 2.6.9 is also supported. Zoom will work with some limitations on older Linux kernels. To install on other distributions, refer to Install/Manual in the release notes. 2. My processor isn't in the list of supported hardware, but works with oprofile. Do you support it? At this time we can't provide full support for every CPU, but try using the oprofile compatibility driver included with Zoom. Let us know what hardware you're interested in, and we may be able to add support for it. 3. Can I run Zoom i386 on x86-64 Linux distributions? No - you should install Zoom x86-64 if you're running a 64-bit OS. 4. Can I run Zoom on a virtual machine? Zoom can profile on a virtual machine with the "OS Timer" trigger. Running under a supported virtual machine such as VMWare, VirtualBox (requires Guest Additions) or KVM is detected automatically. Zoom hasn't been tested under other virtualization solutions. Note that backtraces cannot be collected with the "OS Timer" trigger. Installation 1. The installer put up a dialog about authenticating as root, but it appears to be hung. What happened? The installer probably had trouble using kdesu, gnomesu or gksu to authenticate as root. To work around this, run the install.sh script with root privileges. 2. Why does my installation fail after I have successfully authenticated? The installation will fail if no root password is configured (except on Ubuntu, where it assumes that you have administrative privileges via 'sudo'). To override the self-authentication mechanism, run the install.sh script with root privileges. 3. What's the difference between the RotateRight kernel modules and the oprofile kernel module? The rrprofile kernel module is based on oprofile, but adds support for time stamps, disables nap during sampling and supports both PMC and timer interrupt based sampling without reloading the kernel module. In addition, rrnotify reduces the overhead of profiling by deferring the gathering of process memory maps until after profiling is finished (when possible). 4. Can I install Zoom without using the GUI? Yes - just type "./install.sh --text". 5. Why can't I build the kernel modules after installing the kernel headers? Be sure that the kernel that is currently running matches the kernel headers that you downloaded. You may need to reboot the system if you've installed updates but haven't rebooted recently. User Interface 1. How come I don't see my source code when I click on a symbol? You need to compile your code with debugging information for Zoom to map the assembly code to source code. With gcc, this is done with the '-g' flag. 2. Why don't I get full backtraces when profiling on x86-64? By default, the gcc compiler on x86-64 Linux omits the frame pointer during compilation. To enable the collection of full backtraces, you can either use the "Thread Time Profile" configuration (new in Zoom 2.0) or recompile your x86-64 code with "-fno-omit-frame-pointer". Adding a frame pointer to normal code should have a very slight performance and size impact, but it makes debugging and profiling much easier. 3. Why do I get misleading backtraces when profiling on x86-64? Assume function A calls function B which in turn calls library L (A -> B -> L). If library L omits frame pointers, Zoom's "Time Profile" will show that A called L because the stack frame pointer and return address are not updated inside library L. If the library L is compiled with "-fno-omit-frame-pointer", the frame pointer and return address will be correctly updated. You can also use Zoom's "Thread Time Profile" to get more accurate callstacks. 4. Why do some buttons in the Zoom user interface not work? Linux distributions with GTK 2.18 or later (including openSUSE 11.2, Fedora 12 and Ubuntu 9.10) are incompatible with Zoom 1.6 due to a bug in the underlying Eclipse SDK. As a work-around please use this runZoom.sh script to run the Zoom graphical interface. Be sure to set the script to executable after downloading (chmod a+x runZoom.sh). This is fixed in Zoom 2.0. 5. Can I view more than one profile at a time? Yes - drag a profile's tab area towards any edge of the Zoom window to see more than one profile simultaneously. You can also save a profile and open it multiple times to compare different parts of that one profile. Others 1. Why didn't rrprofile/rrnotify load? If SELinux is set to "Enforcing," it will prevent the kernel modules from loading on startup. To disable SELinux, edit /etc/selinux/config and set SELINUX=disabled. To manually load the kernel modules, type "/opt/rotateright/etc/init.d/rrprofile start" and "/opt/rotateright/etc/init.d/rrnotify start" in a terminal as root. 2. Why did Zoom crash on startup? If you're running on a fresh openSUSE 10.3 install, bug-buddy must be removed or updated. If that's not it, send us your system info and any crash report logs, and we'll figure it out. 3. Why did Zoom fail with the error message "version 'GLIBC_2.3.3' not found"? Please unset the LD_ASSUME_KERNEL environment variable. We recommend that you remove all references to LD_ASSUME_KERNEL. 4. Why did Zoom fail to connect to the remote target? Disable the firewall on both the host and the target. If the libvirt virtualization toolkit is installed, ensure that the libvirtd daemon is disabled. 5. I see "GLib-WARNING **: g_set_prgname() called multiple times". Is this a bug? This is a known issue with Ubuntu 9.10, Fedora 12 and Debian Squeeze which should not affect Zoom. 6. Why is the SUID bit set for the zoom binary? Zoom runs with setuid in order to map the samples of all processes (including the kernel) back to the code in binaries that may be system-owned. 7. Why is the error message "Zoom is already running" shown? To ensure exclusive access to user preferences and settings, Zoom acquires a file lock in the .zoom folder in your home directory. If your home directory is shared across multiple machines (for example, using NFS), only a single instance of Zoom can be run across those machines. To work around this, you can create a unique startup script for each machine. The default startup script is /opt/rotateright/Zoom/Zoom. Make a copy of the script and modify the "-Dosgi.instance.area" and "-Dosgi.configuration.area" VM arguments in the script to point to a local path on each machine. 8. My workload runs for hours - can Zoom profile that long? Yes, Zoom can profile for long periods. With the default profiling configs, Zoom will initially begin profiling with parameters that are optimized for profiles of up to a few minutes. After a large number of samples have been taken, Zoom will dynamically increase the sampling interval for longer profiles. This is called "Adaptive Sampling" and is designed to keep the total sample count manageable.
|
Zoom™ & Copyright © 2006-2012 RotateRight, LLC. All Rights Reserved. Other trademarks are the property of their respective owners.