#!/bin/bash oscs=( $( find /proc/fs/lustre/osc -mindepth 1 -maxdepth 1 -type d ) ) 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 unset oscs[$i] else echo "skip ${oscs[$i]} $used_mb" fi done sleep 1 done