Skip to contentSkip to conversation

ulatencyd 0.3.1

ANN Daniel Poelzleithner 3 participants 5 messages Jan 18, 2011

lore
Share & tools
lore
#0 lore raw

Hi all,

I'm happy to announce the release of ulatencyd 0.3.1

What is it ?
============

ulatencyd is a scriptable daemon which constantly optimises the Linux kernel for best user experience.
The default configuration tries reduce the latency for a typical desktop system and protects the system from malicious processes/groups. With a different configuration all other types of systems can be adjusted as well.

Website: <https://github.com/poelzi/ulatencyd/>

• Ubuntu PPA: <https://launchpad.net/~poelzi/+archive/ulatencyd-stable>
• Latest Release:
<https://github.com/downloads/poelzi/ulatencyd/ulatencyd-0.3.1.tar.gz>

What's new in 0.3 (very short version)?
=======================================

• X-Server plugin which monitors the active windows and gives more priority to the recently active windows.
• Full scripted scheduler with flexible configuration that allows easy adjustment of the resulting cgroups and parameters.
• Protection rules against common cases of memory shortage, also known as the swap of death (even without swap).
• Scheduler configuration for desktop systems
• Fast C core with Lua embedding. Intelligent caching to reduce the load on filter rules and scheduler.
• Very detailed API for system inspection and adjustment.
• Rudimentary Rules for popular Desktop Environments KDE & Gnome

Does it work ?
==============

Yes. Of course it is possible to still cause a swap of death or overload the system so much, that it starts to get lag. But typical cases get caught by the current rules. A make -j 50 of the linux kernel on my dual core machine with 4 GB ram let me still work on the machine quite well, but a make -j 80 still locks it down for like 4 minutes. This is most likely because the heavy swapping done on the isolation groups (their main memory usage is restraint). This may be fixed by using the blockio subsystem, but this is not used yet. Planned for the next version.

kind regards
Daniel Poelzleithner

#1 lore raw
Quoted 51 lines · Daniel Poelzleithner

Hi all,

I'm happy to announce the release of ulatencyd 0.3.1

What is it ?
============

ulatencyd is a scriptable daemon which constantly optimises the Linux kernel for best user experience.
The default configuration tries reduce the latency for a typical desktop system and protects the system from malicious processes/groups. With a different configuration all other types of systems can be adjusted as well.

Website: <https://github.com/poelzi/ulatencyd/>

• Ubuntu PPA: <https://launchpad.net/~poelzi/+archive/ulatencyd-stable>
• Latest Release:
<https://github.com/downloads/poelzi/ulatencyd/ulatencyd-0.3.1.tar.gz>

What's new in 0.3 (very short version)?
=======================================

• X-Server plugin which monitors the active windows and gives more priority to the recently active windows.
• Full scripted scheduler with flexible configuration that allows easy adjustment of the resulting cgroups and parameters.
• Protection rules against common cases of memory shortage, also known as the swap of death (even without swap).
• Scheduler configuration for desktop systems
• Fast C core with Lua embedding. Intelligent caching to reduce the load on filter rules and scheduler.
• Very detailed API for system inspection and adjustment.
• Rudimentary Rules for popular Desktop Environments KDE & Gnome

Does it work ?
==============

Yes. Of course it is possible to still cause a swap of death or overload the system so much, that it starts to get lag. But typical cases get caught by the current rules. A make -j 50 of the linux kernel on my dual core machine with 4 GB ram let me still work on the machine quite well, but a make -j 80 still locks it down for like 4 minutes. This is most likely because the heavy swapping done on the isolation groups (their main memory usage is restraint). This may be fixed by using the blockio subsystem, but this is not used yet. Planned for the next version.

Quoted 3 lines

kind regards
Daniel Poelzleithner

Hello! May be offtopic, bu does ulatencyd works well together with systemd init system?

#2 lore raw
In reply to Daniel Poelzleithner
Quoted 3 lines · Daniel Poelzleithner

Hi all,

I'm happy to announce the release of ulatencyd 0.3.1

I'm getting this build error:

/home/frederik/Software/src/ulatencyd-0.3.1/src/ulatencyd.c: In function ‘avoid_oom_killer’:
/home/frederik/Software/src/ulatencyd-0.3.1/src/ulatencyd.c:126: error:
‘O_NOFOLLOW’ undeclared (first use in this function) /home/frederik/Software/src/ulatencyd-0.3.1/src/ulatencyd.c:126: error:
(Each undeclared identifier is reported only once /home/frederik/Software/src/ulatencyd-0.3.1/src/ulatencyd.c:126: error:
for each function it appears in.)

What could be the problem here? I'm using Debian Squeeze AMD64 with libc 2.11.2-7 and Linux 2.6.37-trunk-amd64.

Signature · 1 line
Frederik Himpe
#3 lore raw
In reply to Daniel Poelzleithner
Quoted 3 lines · Daniel Poelzleithner

Hi all,

I'm happy to announce the release of ulatencyd 0.3.1

mobile build # cmake ../ulatencyd-0.3.1/
-- The C compiler identification is unknown
CMake Error at /usr/share/cmake/Modules/CMakeCInformation.cmake:37 (GET_FILENAME_COMPONENT):
get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
CMakeLists.txt:2 (project)

CMake Error: your C compiler: "" was not found. Please set
CMAKE_C_COMPILER to a valid compiler path or name. -- Configuring incomplete, errors occurred!

mobile build # gcc --version
gcc (Exherbo gcc-4.5.1) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

#4 lore raw
Quoted 13 lines · Vasiliy G Tolstov
Quoted 3 lines · Daniel Poelzleithner

Hi all,

I'm happy to announce the release of ulatencyd 0.3.1

mobile build # cmake ../ulatencyd-0.3.1/
-- The C compiler identification is unknown
CMake Error at /usr/share/cmake/Modules/CMakeCInformation.cmake:37 (GET_FILENAME_COMPONENT):
get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
CMakeLists.txt:2 (project)

Quoted 4 lines

CMake Error: your C compiler: "" was not found. Please set
CMAKE_C_COMPILER to a valid compiler path or name. -- Configuring incomplete, errors occurred!

my mistake:
need to add -DCMAKE_C_COMPILER=gcc to cmake