#!/bin/bash

oscs=( $( find /proc/fs/lustre/osc -mindepth 1 -maxdepth 1 -type d  ) )
#echo $oscs

while [ ! 0 -eq ${#oscs[@]} ]; do
    sync
    echo 3 > /proc/sys/vm/drop_caches 

    for i in ${!oscs[@]}; do
        used_mb=$( grep -h used_mb ${oscs[$i]}/osc_cached_mb | cut -d" " -f 2 )
        if [ 0 == $used_mb ]; then
            #echo "remove from list ${oscs[$i]}, because cache is $used_mb MB"
            unset oscs[$i]
        else
            echo "skip ${oscs[$i]}, cache is still $used_mb MB"
        fi
    done
    sleep 1
done

