Friday, April 18, 2014

Ubuntu LTS 14.06 Gnome

I was using beta for Ubuntu 14.04 Gnome for sometime on my virtual box. As i don't want to use Default Unity version as it is heavy on my Vbox. Hoping that these issues are fixed in final LTS release but unfortunately this is not the case.

1. But gnome had few issues as after boot it used to crash every time.

2. Sometime after login to gnome it comes up with just black screen and we have to reboot 2 or 3 times hoping that it will come up.
Workaround: Press Ctrl + Alt + F1 terminal will open login and do :
#startx
Otherwise : Enable gnome autologin from /etc/gdm/custom.conf

Automatically gnome session will start and you will get gnome login.

3. Ubuntu Software Center displays software description text which is almost invisible.





Hope these issues will be fixed in updates soon.

If you are interested in final releases for Ubuntu LTS 14.04 then you can download the same here :
Ubuntu Gnome: http://cdimage.ubuntu.com/ubuntu-gnome/releases/14.04/release/
Edubuntu : http://cdimage.ubuntu.com/edubuntu/releases/14.04/release/
Kubuntu: http://cdimage.ubuntu.com/kubuntu/releases/14.04/release/
Lubuntu: http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/
Xubuntu: http://cdimage.ubuntu.com/xubuntu/releases/14.04/release/
Ubuntu Studio: http://cdimage.ubuntu.com/ubuntustudio/releases/14.04/release/

Sunday, January 12, 2014

Dtrace : Time spent in system call or function

Dtrace is a awk and C++ like programming language also called D Language.
It can be used very efficiently to provide amazing results that other tools can't provide.
But Dtrace is not the replacement of other tools but you can say Dtrace is a complement to other tools.
Although it is not the first tool to be used while diagnosing a problem but it can be used at a later point of time to dig much deeper into the particular area of problem.

Let us take an example, if you are suspecting an application to be taking more time than expected then you may want to use first other tools to verify things like physical memory, CPU usage, swap etc. And then later we may want to start looking at the application.

Let us see if we just want to see which system calls or functions in an application are taking most time, then we can use the below simple script :

#!/usr/sbin/dtrace -s
pid$1:::entry
{
    t[probefunc] = timestamp;
}
pid$1:::return
/t[probefunc]/
{
    @funct[probefunc] = sum(timestamp - t[probefunc]);
    t[probefunc] = 0;
}


How to run this script ?
Save this script in a file eg. myprobe.d and give executable permissions. But note that ONLY root user or user with equivalent role can execute the script and provide process id "PID" of the application as an argument.
Now run the script as below and see the results :
# myprobe.d <PID>

In future posts I will explain what more about the Dtrace in details. This was just an introduction to see what Dtrace can do.