Tagged: linux RSS

  • levin 2:28 am on May 1, 2011 Permalink | Reply
    Tags: linux, memory, monitoring   

    3 Step to keep track OS memory usage by process 

    Tutorial

    So many people asking how to keep track on the OS memory usage by process, as you know a bit about Physical Memory, Virtual Memory (VSZ), Resident Set Size (RSS), Shared Memory, Paging Memory…etc, counting RSS to determine memory usage is very common way and easier to understand for dummies like me, although it’s not a precise figure while you’re ignoring shared memory, fs cache..etc.
    But anyway this tutorial is starting point to help you monitor the process RSS usage and keep tracking the usage that allows to identify peak/min.

    Alright, you need to create one database or table, and one script and one cron job.

    Step 1 – Create a database for storing stat data

    CREATE DATABASE sysstat DEFAULT CHARACTER SET latin1;
    GRANT INSERT, UPDATE, DELETE, SELECT on sysstat.* to sysstat@'localhost' identified by 'passw0rd';
    USE sysstat;
    CREATE TABLE 'memory' (  'id' int(11) NOT NULL auto_increment,  'date' datetime NOT NULL,  'memory' int(20) NOT NULL,  'process' varchar(300) NOT NULL,  PRIMARY KEY  ('id')) ENGINE=MyISAM AUTO_INCREMENT=21794 DEFAULT CHARSET=latin1;
    

    Step 2 – Script

    Usage:

    To show all memory usage by process

    ./memory_stat.sh usage
    
    [root@vm1 sbin]# ./memory_stat.sh usage
    2011-05-01 01:55:39 16576 /usr/lib/courier-imap/bin/couriertls
    2011-05-01 01:55:39 35576 /usr/lib/courier-imap/bin/imapd
    2011-05-01 01:55:39 38832 /usr/sbin/httpd.worker
    2011-05-01 01:55:39 73100 MailScanner:
    2011-05-01 01:55:39 125632 clamd
    2011-05-01 01:55:39 208964 /usr/libexec/mysqld
    2011-05-01 01:55:39 429720 /usr/bin/php-cgi
    

    To record into database

    ./memory_stat.sh record
    

    To retrieve the usage report

    ./memory_stat.sh report {process} {date - optional}
    
    [root@vm1 sbin]# ./memory_stat.sh report php "2011-05-01 01"
    php usage report on vm1.dreamerworks.net
    date	memory
    2011-05-01 00:00:01	471588
    2011-05-01 00:05:02	468772
    2011-05-01 00:10:02	470788
    2011-05-01 00:15:01	471392
    2011-05-01 00:20:01	472140
    2011-05-01 00:25:01	469016
    2011-05-01 00:30:02	469016
    2011-05-01 00:35:01	469016
    2011-05-01 00:40:01	472376
    

    To housekeep the database

    ./memory_stat.sh housekeep
    

    memory_stat.sh

    #!/bin/bash
    
    process=`ps aux|awk '{print $11}'|sort|uniq|grep -v -e grep -e awk -e ps -e sort -e uniq`
    date=`date +%Y-%m-%d\ %H:%M:%S`
    database="sysstat"
    dbuser="sysstat"
    password="passw0rd"
    housekeepday="30"
    
    usage(){
    for PS in $process; do
    
    echo "$date `ps aux | grep -- $PS |grep -v grep | awk '{sum +=$6}; END {print sum}'` $PS"
    
    done
    }
    
    record() {
    usage > /tmp/usage.log
    mysql -u$dbuser -p$password <<EOF
    use $database;
    `while read date time memory process;
    do
    echo "insert into memory (date,memory,process) values ('$date $time','$memory','$process');"
    done < /tmp/usage.log
    `
    EOF
    
    rm -f /tmp/usage.log
    
    }
    
    housekeep() {
    mysql -u$dbuser -p$password <<EOF
    use $database;
    delete from memory where date < CURRENT_DATE - $housekeepday;
    EOF
    }
    
    report() {
    if [ x$1 = "x" ];then
            echo "Usage: $0 [process]"
            exit
    fi
    process=$1
    datetime_arg="AND date like '$2%'"
    echo "$process usage report on `hostname`"
    mysql -u$dbuser -p$password <<EOF
    use $database;
    `
    echo "select date, memory from memory where process like '%$1%' $datetime_arg order by date";
    `
    EOF
    
    }
    
    case $1 in
    	usage)
    	usage | sort -k 3n
    	;;
            housekeep)
            housekeep
            ;;
            record)
            record
            ;;
    	report)
    	report $2 $3
    	;;
            *)
            echo "Usage: $1 (usage|record|housekeep|report [process] [date])"
            ;;
    esac
    

    Step 3 – Cron Job

    crontab -e
    0,5,10,15,20,25,30,35,40,45,50,55 * * * *       /usr/local/sbin/memory_stat.sh record
    

    That’s it

    At least, you may tell a bit more about which process is huger one and then you’ll able to narrow down for investigation.

     
  • levin 3:18 am on September 15, 2010 Permalink | Reply
    Tags: hp 2540p, intel gma hd, linux,   

    Ubuntu 10.10 Maverick with HP Elitebook 2540p – Updated 

    Background

    After thousand time try and errors with linux distribution, opensuse, fedora, ubtuntu… etc, finally get it work perfectly on ubtuntu 10.10 Alpha 2 installation.

    There is some changes since 10.04, /etc/X11/xorg.conf is no more present after installation, Xorg now communicate with dbus to get best configure for your hardware.

    You may experience blank screen, screen flicking, screen can’t turn on after system suspend, Xorg hang for few mins randomly. So here is the workaround for me to install ubuntu on this laptop.

    Installation

    1. Grab the Maverick CD image, ( Alpha 2 for my case)
    2. During CD boot, hit any button to interrupt autoboot
    3. Press [F6] to append boot parameters
    (More …)

     
    • levin 6:29 pm on September 15, 2010 Permalink | Reply

      Please note that, VirtualBox 3.2.8 is incompatible on 2.6.36-rc4-maverick kernel

    • Travis 7:28 am on September 18, 2010 Permalink | Reply

      I’m having some issues with flickering on my laptop monitor ( elitebook 2540p ) but not on external monitor. Have you seen / resolved this?

      • levin 12:41 am on September 19, 2010 Permalink | Reply

        Hi Travis, you need to update a beta kernel to fix the screen flickering problem, here to download the upstream kernel packages. http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.36-rc4-maverick/

        • levin 12:42 am on September 19, 2010 Permalink | Reply

          also update xorg-intel driver from “Synaptic Package” as well.

          • Travis 3:23 am on September 23, 2010 Permalink | Reply

            My Kernel: 2.6.36-020636rc5-generic #201009211328 SMP Tue Sep 21 13:31:25 UTC 2010 x86_64 GNU/Linux

            I updated the intel driver as well. Seems to be better than initial install, but still seeing the flicker at times.

            It’s odd, with Fedora 13 I get no flicker, but can’t dock it with external monitor, but with Ubuntu I can dock etc.. but get the flicker. Frustrating.

            Thanks
            -Travis

            • levin 5:51 pm on September 23, 2010 Permalink

              That’s odd, but I’m not sure rc5 is good version or not, since i believe 36.rc4 already fixed the flicker issue.

              I just tested with internal display only. So maybe not apply for your case, I’ll try that with a external monitor as I can.

              Can you produce the following result, see if it is consistently flickering

              For No Docking
              1. Boot up with internal display
              2. Boot up with external display
              3. Bootup with internal display and switch over to external display when reached X login and switch it back to internal display

              Repeat 2,3 with docking attached.

              Thanks

              lets compare with my working version.

              libdrm-intel1 2.4.21-1ubuntu2
              xorg 1:7.5+6ubuntu2
              xserver-xorg-video-intel 2:2.12.0-1ubuntu4
              linux-generic 2.6.36-020636rc4.201009130905
              linux-headers-2.6.36-020636rc4.201009130905
              linux-headers-2.6.36-020636rc4.201009130905-generic 2.6.36-020636rc4.201009130905
              linux-image 2.6.36-020636rc4.201009130905
              linux-image-2.6.36-020636rc4.201009130905-generic 2.6.36-020636rc4.201009130905

            • foo 5:46 am on October 29, 2010 Permalink

              tried rc4 and rc7 with the same results as Travis. Switching from 60 to 40Hz update freq finally solved the flickering problem.

    • Travis 7:34 am on September 18, 2010 Permalink | Reply

      Great info by the way.. Thanks

    • Ares 10:46 am on October 4, 2010 Permalink | Reply

      You are the man! Honestly I’ve had been trying to make it work for my girlfriends laptop for a while now, and nothing had worked. Thanks!

    • Justin 12:45 am on October 21, 2010 Permalink | Reply

      I tried the rc4 kernel and the rc7 kernel (both i386) but my video is still flashing every few seconds. Do you know if there is a patch to apply or a way to track down why this is happening? I checked the package manager but it appears I already have intel-xorg-video-intel package installed.
      Also, the multitouch works great for the track pad but how can I set those settings to automatically apply when the computer turns on? A startup script just seems like the wrong way to do it.
      Thanks

      • levin 12:24 pm on October 30, 2010 Permalink | Reply

        put these line in /etc/X11/xorg.conf for auto-enable multitouch

        Section “InputDevice”
        Identifier “Synaptics Touchpad”
        Driver “synaptics”
        Option “SendCoreEvents” “true”
        Option “Device” “/dev/psaux”
        Option “Protocol” “auto-dev”
        Option “SHMConfig” “on”
        Option “VertTwoFingerScroll” “1″
        Option “HorizTwoFingerScroll” “1″
        Option “EmulateTwoFingerMinW” “5″
        Option “EmulateTwoFingerMinZ” “50″
        EndSection

    • Haggan 10:05 pm on October 29, 2010 Permalink | Reply

      Iam testing 40Hz now seams to be flicker free with rc8 of the 36 kernel. What about the smart card reader?
      Any one know how to get it working? Also has any one working N speed with the wifi?

    • Travis 6:19 am on November 19, 2010 Permalink | Reply

      Latest Kernel seems to kill the display on the HP 2540. Docked, or not. The external display when docked works fine. Happened on both of the 2.6.37 releases. Anyone else?

    • Fredrik 3:29 pm on November 19, 2010 Permalink | Reply

      Travis, the same thing happens to me: I get a black (internal) screen with the 2.6.37rc’s.

    • Haggan 7:36 pm on December 3, 2010 Permalink | Reply

      40Hz dont work for me with 2.6.36 rc8 or the 2.6.35-23 kernel. I have tried 2.6.37 I also got blanck screen.
      About the smart card HP suggest the following. I cant get it workin I guess it because I am running x86_64

      Note: HP does not take any responsibility in doing the same. This would be at the customers own risk.

      Step 1:
      Run the command – lspcmci -v and get:
      Product Name:
      Identification: manf_id:

      Check for: prod_id(1):

      Step 2:
      Goto – http://www.scmmicro.com/support/pc-security-support/downloads.html
      Download the driver – SCR241 – Linux 32-bit (2.4.x) Driver
      Extract the files, and find the file scr241_main.c
      Search for the lines containing
      PCMCIA_DEVICE_PROD_ID1(“SCR243 PCMCIA”,0x2054e8de),
      PCMCIA_DEVICE_PROD_ID1(“SCR24x PCMCIA”,0x54a33665),
      and add the line:

      PCMCIA_DEVICE_PROD_ID1(“HP”, 0x53cb94f9),

      Note: “HP”, 0x53cb94f9 is the prod_id(1) what I have got in my unit – so this has to be changed with what the customer gets on his unit when he runs the lspcmci -v command

    • Joao 8:08 pm on December 28, 2010 Permalink | Reply

      I tried everything. I updated the kernel, verified that I have the newest driver, changed the frequency to 40Hz, updated the bios, disabled the light sensor in the bios.
      Nothing helped. Why can I not get rid of the problem?

    • Fredrik 5:57 pm on January 19, 2011 Permalink | Reply

      The flickering seems to be solved by the latest daily kernel:
      http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2011-01-18-natty/

      However I still have some troubles with plugging/unplugging external displays.

      • levin 6:16 pm on January 19, 2011 Permalink | Reply

        actually, the external display problem seems never been fixed… btw thanks for your update! cheers

    • ediulia 8:19 pm on January 19, 2011 Permalink | Reply

      i understand that there is no option at this time to install ubuntu 10.10 or 10.04 on 2540p without to spend at list a week for fix problems after installation. i will wait for 11.04. may be next version will solve screen problems without create new bugs…

    • david 11:05 pm on February 4, 2011 Permalink | Reply

      This kinda works for me, The flickering disappeared..

      I installed the kernel from http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/current/
      But now the openafs kernel module wont compile..

    • levin 7:42 pm on April 29, 2011 Permalink | Reply

      Just a quick update, 11.04 work flawlessly with HP 2540p. Everything work as expected!

  • levin 3:39 am on July 3, 2010 Permalink | Reply
    Tags: linux   

    Pacemaker non-clones resource restart when clones stop/start on other nodes 

    Scenario

    Node alpha holds resource groups rg_vg01.

    Node beta holds the corresponding resources as same as alpha

    Both nodes hold instances of the CLVM DLM clone.

    As beta is switched into standby mode, the clone
    instance on beta correctly transition to the Stopped state.
    However, the rg_vg01 resource groups are
    restarted in-place on alpha needlessly.

    Solution

    It was caused by resource-stickness score INFINITY order was defined between clone and standalone resource.
    eg:

    order order-clvm-vg inf: clvm-dlm-clone rg_vg01

    To solve that, you should change the score to 0 between standalone and clones.
    like:

    order order-clvm-vg 0: clvm-dlm-clone rg_vg01

    A related bug fix.
    http://hg.clusterlabs.org/pacemaker/stable-1.0/rev/f17e29306fa1

     
  • levin 2:21 am on May 28, 2010 Permalink | Reply
    Tags: drbd, linux   

    howto create GFS on DRBD network disk mirroring 

    Introduction

    This howto will cover how to create a DRBD disk set with GFS concurrent disk access setup.

    Why DRBD?

    DRBD disk mirroring benefit as a shared SAN disk to archive higher service resilience with low cost hardware component. Alternately, it may be configured for backup purpose with it’s flexibility.

    Prerequisite

    1. RedHat Cluster Suit and GFS packages

    cman-2.0.115-1.el5
    gfs2-utils-0.1.62-1.el5
    gfs-utils-0.1.20-1.el5
    kmod-gfs-0.1.34-2.el5
    

    2. drbd83 package

    yum install drbd83
    

    3. Create a partition on both node with using same size, we use [sda5] for this show case.
    (More …)

     
    • awinas 3:57 am on January 13, 2011 Permalink | Reply

      Uncomment in /etc/drbd.conf

      1 allow-two-primaries;

      or become-primary-on both?

      • levin 4:21 am on January 16, 2011 Permalink | Reply

        allow-two-primaries is global parameter for nodes,
        become-primary-on both, disk resource specific.

  • levin 1:41 pm on May 26, 2010 Permalink | Reply
    Tags: ldap, linux   

    Openldap recovery howto 

    If you are experiencing LDAP errors or startup without error but no ldap port (389|636) is listening for service and you have tried restarting the LDAP server by running /etc/init.d/ldap restart, then you should try running the following recovery procedure:

    Typical corruption

    1. Stop the LDAP server:

    /etc/init.d/ldap stop
    

    2. Run the daemon manually with debug flag

    /usr/sbin/slapd -u ldap -h ldap://127.0.0.1:389/ -d 256
    

    If the database is corrupted, it may stop at database initiation.
    (More …)

     
  • levin 11:31 pm on April 28, 2010 Permalink | Reply
    Tags: linux, lvm,   

    howto reinstall GRUB in rescue mode while using lvm / mdadm 

    This article is how to activate LVM and mdadm software raid in rescue and reinstall GRUB boot loader, since the boot CD will not do this job for you. By following the steps, you may able to do system recovery or disk operation.

    RedHat 5.x

    Activate the RAID

    mkdir /etc/mdadm
    mdadm --examine --scan > /etc/mdadm/mdadm.conf
    mdadm -A --scan
    

    (More …)

     
    • rwheindl 12:03 am on November 24, 2010 Permalink | Reply

      Excellent Tutorial! Just what I was looking for. Thank you very much.

    • Anthony_A 3:30 pm on December 19, 2010 Permalink | Reply

      Thanks a lot to your tutorial you solved my problem.

  • levin 12:17 am on April 28, 2010 Permalink | Reply
    Tags: linux, ,   

    Enlarge linux software mirror raid 1 howto 

    Scenario

    A linux box running on a software raid 1 mirror harddisk (120GB), recently the server is running out of disk space. A new pair of harddisk with larger capacity (500GB) is going to replace the existing pair.

    Current disk layout

    100MB md0:/dev/sda1, /dev/sda2
    111GB md1:/dev/sdb1, /dev/sdb2

    /boot /dev/md0
    VolGroup00 /dev/md1
    - LogVol00 swap
    - LogVol01 /

    Synchronize the data to new harddisk

    1. Shutdown the box
    2. remove sdb from the box
    3. replace with the new 500GB disk

    (More …)

     
  • levin 6:41 pm on December 27, 2009 Permalink | Reply
    Tags: linux   

    Add a cron job in a command line 

    As you familiar with UNIX cron with crontab -e when you going to add a new schedule cron job.. do you ever tried to add a cron job up to 100 machine?

    Simply to use pipe-in with crontab -l to regenerate the crontab.

    Here you are

    (crontab -l; echo "0 0 * * * /path/to/myscript.sh") | crontab -
    

    Easy?!

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
esc
cancel