KDE Priority handler

Utilities

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

0
Score 50.0%
Description:

KDE Priority handler is an application that monitors the current active processes/applications and let's the user categorize the process into an priority group.

This is very usefull for buggy and/or cpu intensive applications. By adding these to an low priority group makes the desktop usable even if they go berserk on the system.

Hope you find it usefull.

How it works:

By default most user processes get the nice level 0, higest possible to set without root access.
My program monitors the active processes and change thire nice level to correspondent with the group it's been added to witin my program.

ex. The user starts konqueror, and get an popup about this processes is found and is unrated. Now the user chooses "konqueror" in the treeview to the left, then presses the "Webbrowser" icon.
This renices konqueror to the nice level of webbrowsers. Next time konqueror is started (and KDE Priority handler is runing) it will automaticly renice the process without any user interferance.

With the introduction of v0.2 most of the suggested features are added and quite a few other. Please feel free to comment/drop me an mail about features you miss or bugs you found.
Last changelog:

12 years ago

2007-10-29 KDE Priority handler v1.0 RC2

Fix: It now works with kernel 2.6.23, as well as with prior kernels.

Fix: The systray and active icons now works properly.

Feature: Autohide empty categories in the treeview (grouped, independent, unrated)

2007-10-28
I just upgraded to kernel 2.6.23, and it looks like theer might have been some changes to the /proc layout due to the new shedulers. So right now this app wont work for .23.

2007-10-10
I noticed an graphical glitch, when an process goes deactive/active the indication icon for this wont change. Ill fix it to RC2.

2007-10-08 Archlinux -- AUR
This application is now avaible in the AUR for archlinux, the package name is knice.

2007-10-08 KDE Priority handler v1.0 RC1

This is the first release candidate. It should be quite stable and fast. NOTE: The GUI hasent changed from 0.2.

Fix: There was an issue with increasing cpu usage when the list of processes grew. This should now be fixed.

Fix: Various internal improvments, this should be noticed in less cpu usage.

Fix: Changed the update interval from 2 seconds to 3 seconds to even further decrease the cpu usage.

2007-10-04 KDE Priority handler v0.2 Beta Bug fix

Fix: In some uniqe situations a process dosent live long enought to retrive information from it. This caused an crash (std::__throw_length_error()).

2007-10-01 KDE Priority handler v0.2 Beta (Major update)

Feature: Group management. It's now possible to add and remove groups.

Feature: Added the abilaty to handle processes independent from any group.

Feature: Added icons to indicate whatever an process is active or not.

Feature: It's now possible to change priority and icon for a group by selecting it with the right mouse button.

Fix: New unrated processes now get an low priority (17).

2007-09-15 Beta 0.1.1 relased

Fix: Removed the "Store" button as it's function was removed prior to the beta release.

Fix: Removed the popup. Dident work well, was mostly annoying.

Feature: The system tray now uses an different icon if there is unrated processes.

Feature: It's now possible remove the rating policy for an process. Select it in the "Rated" tree and press delete(keyboard).

NOTE: The package filename have changed to include version.

-----------

Fixed the download link.

First beta release, not to buggy i hope :)

geekyone

11 years ago

Is this project still under development?

The idea sounds like exactly what I need right now. I have had a number of systems fail on me in the last few months and as a result am currently using on an old 1.4Ghz AMD Athlon with 512MB RAM running CentOS 5.2, until I can get a new one. Due to the slow system I'm currently on I've had some problems with music freezing for a few seconds when I attempt to do operations that I would normally consider to not be very high load. Even launching an application at times may cause it to freeze, even if just for a split second. Needless to say, it's annoying since I like to listen to music while doing development.
I was trying to find a program to manage priority levels of applications, to keep my music from freezing on me, when I found yours. I immediately realized it would also limit problems resulting from a resource hog such as the Flash Firefox plug-in, and allow me to continue to work without ending the process immediately.

If your program is as good as it sounds, and I can get it working, I likely will continue to use it in the future as I am a huge multi-tasker and have never met a system I couldn't lag out within a few days.

When attempting to compile after resolving multiple dependency issues, I get the following error message:

checking for Qt... configure: error: Qt (>= Qt 3.2 and < 4.0) (headers and libraries) not found. Please check your installation!
For more details about this problem, look at the end of config.log.

I installed the following while trying to resolve dependencies, but I guess they aren't what your application is looking for.
qt - 1:3.3.6-23.el5.i386
qt-devel - 1:3.3.6-23.el5.i386
qt4 - 4.2.1-1.i386
qt4-devel - 4.2.1-1.i386

I suppose I could try to find an older version of one of those if you tell me which it's looking for, but kinda afraid it won't work with how new my OS is.

Report

C

Lilltiger

11 years ago

That seems very strange if you have qt3.3.6 it should work, you can try to edit the make file and force it to look for 3.3.6.

On my spare time I am working on an newer version of this application, it's now splitted into an daemon part and an client.

An with the first release it will contain an kde4 plasmoid an an cli client. But it's still under development and unfortunally it's going slow due to lack of time/money on my side.

Report

EternalNyt

12 years ago

Was Wondering if Anybody Has been Able to install if So! I tried Using Kompile and Comes up With Error's on Finding X Lib and Exits install. Any help Would Be nice.

Thanks

Report

EternalNyt

12 years ago

Been installed for some time now i got it to configure when i installed the Whole KDE package instead of the Face Lift i gave Ubuntu. lol.

Report

C

Lilltiger

12 years ago

Great to hear, dnt hessitate to give inputs and report issues.. I havent got a single bugreport since the beta, thought i havent encountered a bug myself since RC2 (iv had it running 24/7 since it's release).
And only feature request is to add ionice support wich im putting up till the KDE 4 release.

So either all users are happy with it as it is now, or noone is using it :D

Report

C

Lilltiger

12 years ago

Try:
./configure
make
then as root:
make install

It works on both 32bit and 64bit for me.

Report

famewolf

12 years ago

Is there a list of default groups and their suggested nice levels?

The ones I can think of off top of hand are:

Web Proxy
Web Browser
Ktorrent
Wine Program
Amarok
Java App

etc...

Report

C

Lilltiger

12 years ago

Not realy, as most users have different preferenses. I myself like to have the music players at nice 1, the kde background processes at nice 10 then i/o at nice 11 and webbrowser at 15 then Trash/Buggy at 20. And inbetween I put groups for apps depending on how important i think they are compared to the others.

Report

jazztyle

12 years ago

please consider to add ionice support :)

it helps a lot with i/o (the most limiting factor today), here is some more info:

http://linux.die.net/man/1/ionice
http://translate.google.com/translate?u=http%3A%2F%2Fwww.hauke.laging.de%2Fsoftware%2Fioniced&langpair=de%7Cen&hl=de&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools

Report

C

Lilltiger

12 years ago

The issue with ionice is that it requires root access. I'll try to figure out a nice way to do this for the 2.0 release.

Report

seraphyn

12 years ago

A small tip for You:
http://tinyurl.com/
Greetings Seraphyn

Report

seraphyn

12 years ago

A small tip for You:
http://tinyurl.com/
Greetings Seraphyn

Report

dovidhalevi

12 years ago

Such a beast needs be a daemon.

Two are on the Debian packages:
"rniced" which in reality is not a daemon but seems to only run, renice and end.
"and" a nice daemon which works off a config file.

I like to idea of a GUI. Might integrate with "and". (caveat--and has three times for three nice levels. The first time is before ANY renicing. These are settable.)

Report

C

Lilltiger

12 years ago

My code is already separated and built with a daemon in mind. While im right now working on the feature/GUI so i know what i need to change in the backend first before making it into a daemon, and I also want it to be more stable.

Report

BorgQueen

12 years ago

Hi going to create an rpm for this.
Is the app called knice or KDE Priority handler?

thanks

Report

C

Lilltiger

12 years ago

Im not sure, i guess KDE Priority handler might be a more mature name, while knice has a nice ring to it :D. But name it KDE Priority handler (knice) or something :) Still just a beta, name may change. :0)

Report

mtadeunet

12 years ago

kinda nice... :)
I've been needing something like this for the last few weeks.
just also think that unrate should be available. And the priority definitions too. I might want raise or low the priority of stuff as thinks get more or less cpu intensive.
Allow me to explain. Under cpu intensive conditions I might want to listen music some times...maybe play a game other times...watch a movies on others...messenger on others....so this should be easy to change.

thanks

Report

C

Lilltiger

12 years ago

Thats why music is the top one :)

But yes, I will add an group manager where the user can add/remove and change an group.

How would you like the temporary raise/lowering renice work, should it raise it only for a certain time, or untill the user choose to lower it.

Report

gunnicom

12 years ago

Maybe storing some different profiles will do the best job for that kind of requests?

Report

C

Lilltiger

12 years ago

I think it is solved now with the new group handling. Either on just selects a group (right click) and raise the priority of the whole group. Or select the app and raise it individually (it will then become independent) then it's just to add it to the group again after having had it boosted.

But if there is an demand after some other way, like profiles/groups that raises tehe priority of something for a certain amouth of time i will add that feature.

Report

KNT

12 years ago

Bugs:
Notifing of every process that is not rated.
Cannot remove a rating.
SIGBARTed on alt-Tab to firefox (Debian)

(no debugging symbols found)
Using host libthread_db library "/lib/i686/cmov/libthread_db.so.1".
(no debugging symbols found) [Repeated lotsa times]
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1228523840 (LWP 6782)]
(no debugging symbols found) [Repeated lotsa times]
(no debugging symbols found)
[KCrash handler]
#6 0xffffe410 in __kernel_vsyscall ()
#7 0xb6cbe7f5 in raise () from /lib/i686/cmov/libc.so.6
#8 0xb6cc0181 in abort () from /lib/i686/cmov/libc.so.6
#9 0xb6ec67b0 in __gnu_cxx::__verbose_terminate_handler ()
from /usr/lib/libstdc++.so.6
#10 0xb6ec4055 in std::set_unexpected () from /usr/lib/libstdc++.so.6
#11 0xb6ec4092 in std::terminate () from /usr/lib/libstdc++.so.6
#12 0xb6ec41ba in __cxa_throw () from /usr/lib/libstdc++.so.6
#13 0xb6e5af5f in std::__throw_length_error () from /usr/lib/libstdc++.so.6
#14 0xb6ea1bfc in std::string::replace () from /usr/lib/libstdc++.so.6
#15 0x08056935 in KMainWindow::metaObject ()
#16 0x08058129 in KMainWindow::metaObject ()
#17 0x080581be in KMainWindow::metaObject ()
#18 0x08058340 in KMainWindow::metaObject ()
#19 0x08050eee in KMainWindow::metaObject ()
#20 0x08050b04 in KMainWindow::metaObject ()
#21 0xb74edd23 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#22 0xb74ee7c8 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#23 0xb787c426 in QTimer::timeout () from /usr/lib/libqt-mt.so.3
#24 0xb7515b02 in QTimer::event () from /usr/lib/libqt-mt.so.3
#25 0xb74854e0 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#26 0xb748730f in QApplication::notify () from /usr/lib/libqt-mt.so.3
#27 0xb7c5fff2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#28 0xb7418595 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3
#29 0xb7477e6b in QEventLoop::activateTimers () from /usr/lib/libqt-mt.so.3
#30 0xb742ca10 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#31 0xb749fbe6 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#32 0xb749f9f6 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#33 0xb7487089 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#34 0x08055dee in KMainWindow::metaObject ()
#35 0xb6caa050 in __libc_start_main () from /lib/i686/cmov/libc.so.6
#36 0x0804ff41 in ?? ()

Info needed:
How does it work anyway???
What the icons on the right mean?
Does it renice the apps dynamicaly (guess no, no root privliges required)?

Report

C

Lilltiger

12 years ago

> Notifing of every process that is not rated.

This was the intention, but this might get to messy. So I'm thinking of just makin the systray icon indicate that there is unrated processes.

> Cannot remove a rating.

Why would you want this, as you can change an rating. Dont see why you want to "unrate" a process.

> SIGBARTed on alt-Tab to firefox (Debian)

Can you reproduce this, I have tried on archlinux but cant manage to get it to crash.

> Info needed:

I'll add this to the description of the app.

Thanks for your input.

Report

KNT

12 years ago

>> Cannot remove a rating.
>
>Why would you want this, as you can >change an rating. Dont see why you want >to "unrate" a process.

Maybe I could change my mind.
So I would like to have the option of removing control over some processes without resolving to manualy editing configs

Report

C

Lilltiger

12 years ago

Well there is an slight issue with this, as this program operates between 0 and 19 in nice level, and if you remove the control the nice level will default to 0.
This means higher priority then all the other processes and same as the xserver, and this is a bad thing..

Im thinking of adding an default renice level to use on unrated (to get it away from 0).

The idea is to have all processes categorized, and if you cange your mind of a processes just expand the "Rated" tree and change it's group.

If you would be able to remove it, then the app would just find it as unrated again.

Report

C

Lilltiger

12 years ago

download link fixed

Report

12 years ago

2007-10-29 KDE Priority handler v1.0 RC2

Fix: It now works with kernel 2.6.23, as well as with prior kernels.

Fix: The systray and active icons now works properly.

Feature: Autohide empty categories in the treeview (grouped, independent, unrated)

2007-10-28
I just upgraded to kernel 2.6.23, and it looks like theer might have been some changes to the /proc layout due to the new shedulers. So right now this app wont work for .23.

2007-10-10
I noticed an graphical glitch, when an process goes deactive/active the indication icon for this wont change. Ill fix it to RC2.

2007-10-08 Archlinux -- AUR
This application is now avaible in the AUR for archlinux, the package name is knice.

2007-10-08 KDE Priority handler v1.0 RC1

This is the first release candidate. It should be quite stable and fast. NOTE: The GUI hasent changed from 0.2.

Fix: There was an issue with increasing cpu usage when the list of processes grew. This should now be fixed.

Fix: Various internal improvments, this should be noticed in less cpu usage.

Fix: Changed the update interval from 2 seconds to 3 seconds to even further decrease the cpu usage.

2007-10-04 KDE Priority handler v0.2 Beta Bug fix

Fix: In some uniqe situations a process dosent live long enought to retrive information from it. This caused an crash (std::__throw_length_error()).

2007-10-01 KDE Priority handler v0.2 Beta (Major update)

Feature: Group management. It's now possible to add and remove groups.

Feature: Added the abilaty to handle processes independent from any group.

Feature: Added icons to indicate whatever an process is active or not.

Feature: It's now possible to change priority and icon for a group by selecting it with the right mouse button.

Fix: New unrated processes now get an low priority (17).

2007-09-15 Beta 0.1.1 relased

Fix: Removed the "Store" button as it's function was removed prior to the beta release.

Fix: Removed the popup. Dident work well, was mostly annoying.

Feature: The system tray now uses an different icon if there is unrated processes.

Feature: It's now possible remove the rating policy for an process. Select it in the "Rated" tree and press delete(keyboard).

NOTE: The package filename have changed to include version.

-----------

Fixed the download link.

First beta release, not to buggy i hope :)

12345678910
product-maker Base: 4 x 5.0 Ratings
File (click to download) Version Description PackagetypeArchitectureRelease Channel Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
1.0 RC2
updated Oct 29 2007
added Sep 13 2007
downloads 24h
0
mediaviews 24h 0
pageviews 24h 1
System Tags app software