Project

General

Profile

Feature #296 ยป ksm_stat.sh

Alexander Werner, 2014-03-19 09:43

 
1
#!/bin/bash
2
if [ "`cat /sys/kernel/mm/ksm/run`" -ne 1 ] ; then
3
       echo 'KSM is not enabled. Run echo 1 > /sys/kernel/mm/ksm/run' to enable it.
4
       exit 1
5
fi
6
echo Shared memory is $((`cat /sys/kernel/mm/ksm/pages_shared`*`getconf PAGE_SIZE`/1024/1024)) MB
7
echo Saved memory is $((`cat /sys/kernel/mm/ksm/pages_sharing`*`getconf PAGE_SIZE`/1024/1024)) MB
8
echo Unshared memory is $((`cat /sys/kernel/mm/ksm/pages_unshared`*`getconf PAGE_SIZE`/1024/1024)) MB
9
echo Volatile memory is $((`cat /sys/kernel/mm/ksm/pages_volatile`*`getconf PAGE_SIZE`/1024/1024)) MB
10
if ! `type bc &>/dev/null`  ; then
11
        echo "bc is missing or not in path, skipping ratio calculation"
12
        exit 1
13
fi
14
if [ "`cat /sys/kernel/mm/ksm/pages_sharing`" -ne 0 ] ; then
15
        echo -n "Shared pages usage ratio is ";echo "scale=2;`cat /sys/kernel/mm/ksm/pages_sharing`/`cat /sys/kernel/mm/ksm/pages_shared`"|bc -q
16
        echo -n "Unshared pages usage ratio is ";echo "scale=2;`cat /sys/kernel/mm/ksm/pages_unshared`/`cat /sys/kernel/mm/ksm/pages_sharing`"|bc -q
17
fi
    (1-1/1)