TManager is a powerful system managing utility for BeOS. It enables you to be aware of what is going on in the system, and to act on some parts of it. It works on an important amount of data: teams, threads, ports, semaphores, areas, images. For instance, you can often clean up a crashed application by killing its threads or its team, or you can adjust a thread priority so that it is executed in the background.
If you do not know what a team, a thread, a semaphore, a port, an area or an image is, please check this glossary page.
It is also a useful tool if you are a developer, since it can help you know if there are any problems with the resources you are using (is there a memory leak, a thread not cleanly shutting down, a port getting flooded by messages, a problem with the add-ons, a semaphore not correctly acquired ?).
TManager's main window is composed of two parts. The upper part is the team list. On each line is displayed the name of the team, a number and two gauges. The number is the amount of memory that is being used by the team, in kilobytes. The two gauges display the percentage of memory it represents, and the percentage of active CPU time the team is using. This is a global percentage, i.e. if you have a dual-processor machine, 100% means that the two processors are totally active. Beneath the list are displayed the full team path and the signature of the application.
Between the upper part and the lower part of the window, there is a horizontal separator, that looks like the border of a window. You can drag it with the mouse, in order to make one of the parts more visible.
The lower part consists of several lists, in a tab view. The initial lists are empty, because they display information about the selected team. Click on a team in the team list, and you will be able to get the list of running threads in this team, the list of semaphores and ports owned by this team, the list of areas used by it and the list of loaded images. Each list is multicolumn. You can choose which column you want to be displayed in the settings panel, as explained later. If you want to know more about the meaning of one of the terms used in these lists, follow the links.
Several actions can be taken on a team, and there are two ways to do that. Either use the pop-up menu (right-click on an item in the team list), or use the main menu ("action" in the menu bar). You can:
You are also able to act on the threads. First, select the team whose threads you want to alter. Then, either in the pop-up menu, either in the main menu, you have several commands:
If you use the "debug a thread" command, the debugger will appear when the thread exits the kernel. If the thread stays in the kernel, it's maybe in the process of acquiring a semaphore. Just use the "wake up" command and you'll enter the debugger.
There is only one thing you can do with ports: delete them. Use either the pop-up menu or the main menu for that purpose.
In particular, if you have tried to debug a thread but the debugger crashed, the team usually cannot be killed. It often works to delete the port named "team xxx debugtask".
If a semaphore is in a blocking state (i.e. its count is not positive), you might want to perform releases so that the count goes all the way to zero. It may be useful if you are debugging your own code. You can do that with either menu (pop-up and main).
In the "action" menu, you will find three additional commands:
From the "TManager" menu, you can trigger TManager's settings panel. It also consists of two parts. The lower one lets you choose which column you want to be displayed in the different lists. Note that not all columns are enabled by default. The changes take effect as soon as a data update is done, you don't have to push any "use settings" button or to close the window.
The upper part lets you adjust the refresh rate of the data updates. The default rate is 0.33 Hz. You can adjust the rate from 0.2 Hz to 2 Hz.
Eventually, you can use sounds in TManager (I know I'm making some people happy ;-). Currently the names are hardcoded. You need to set the path to the sounds in the corresponding box (upper part of the settings panel). In this directory, sounds will be played if TManager finds any of the following files:
The MultiGauge is a global CPU activity status bar. Instead of just showing a CPU usage percentage, it uses several colors on the same bar. The colors are:
Finally, before I let you go, there are a few things you should know. First of all, when TManager is minimized, it sleeps. This makes it handy to have a running an instance of TManager all the time: if there is no active MultiGauge replicant it doesn't use any CPU time while minimized, otherwise its CPU usage will be a lot decreased any way.
Also, if you want TManager to be launched on startup, add to your UserBootscript (which should be in "/boot/home/config/boot/UserBootscript") something like this:
/boot/apps/TManager minimized &
The "minimized
" command-line option will make TManager start in a minimized state.
You can also set the priority of the main thread by adding a number in the command-line. For instance:
/boot/apps/TManager minimized 5 &
TManager is shareware. The registered version has no time limit on
the MultiGauge and it enables you to replicate the MultiGauge.
The price is US$10. If it's easier for you, you can pay with another currency (I can process anything).
Send a cheque (or cash if you dare) to:
Olivier Wittenberg
16 rue des Grands Maîtres
37400 Amboise
FRANCE
Please send comments, bug reports, and the such to witt@lenet.fr, assuredly I will reply. As you know, feedback is always appreciated. You can check my page on the web if you are connected to the internet.
What is new since TManager 2.5.2:
There is no difference between TManager 2.5.1 and TManager 2.5.2 apart from the settings file format, which has been changed to ensure compatibility with the Intel version. 2.5.2 is the first Intel release (hope you like it :-).
What is new since TManager 2.5.0:
The author does not take any responsibility concerning this program. Be warned, it is very easy to make BeOS crash with it, although it is unlikely to corrupt files. In any case, I cannot be held responsible for any damage done to your computer by TManager.
(hey, this is not meant to be frightening :-)