Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
We have a code in test-framework.sh that tries to avoid double-mounting /sbin/mount.lustre when running from a built tree:
local mount_lustre=$LUSTRE/utils/mount.lustre if [ -f $mount_lustre ]; then local sbin_mount=/sbin/mount.lustre if grep -qw "$sbin_mount" /proc/mounts; then cmp -s $mount_lustre $sbin_mount || umount $sbin_mount fi
In rhel7 and other new distros with the /sbin -> /usr/sbin symlink that never matches, /proc/mounts output is like this:
192.168.10.1:/exports/centos7-nfsroot/home/green/git/lustre-release/lustre/utils/mount.lustre /usr/sbin/mount.lustre nfs4 rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.10.232,local_lock=none,addr=192.168.10.1 0 0
This is sounds mostly harmless, after all whats acouple of more bind mounts, right? Except for an unknown reason (I am still looking), rhel7 kernel is doubling size of mnt_cache slab on every such bind mount, so 7 iterations in the cache takes 120 megabytes, next iteration brings it to 240 and so on. It does add up quickly and some other slabs also grow (though not as drastically), so we quickly run out of memory (I tried and rhel6 kernel does not have this problem).
Attachments
Issue Links
- mentioned in
-
Page Loading...