Here are the results of some experiments with CDOT 8.2.1
and seeing if setting max files affects memory utilization at the time of
setting or not. This is of course using a SIM in VMware Workstation, the SIM
has been given 4GB RAM, and we’re taking the memory stats from the Windows 7
resource monitor. Whether this is valid experiment, I leave it up to the reader
to decide. And - hopefully this isn’t a stupid question - does anyone know of a
way to get memory stats from a NetApp via the CLI?
1) Create 10
largish volumes for a SIM (max vol size for the SIM is 16t)
vol
create -volume vol001 -size 10t -aggregate aggr1 -space-guarantee none
vol
create -volume vol002 -size 10t -aggregate aggr1 -space-guarantee none
vol
create -volume vol003 -size 10t -aggregate aggr1 -space-guarantee none
vol
create -volume vol004 -size 10t -aggregate aggr1 -space-guarantee none
vol
create -volume vol005 -size 10t -aggregate aggr1 -space-guarantee none
vol
create -volume vol006 -size 10t -aggregate aggr1 -space-guarantee none
vol
create -volume vol007 -size 10t -aggregate aggr1 -space-guarantee none
vol
create -volume vol008 -size 10t -aggregate aggr1 -space-guarantee none
vol
create -volume vol009 -size 10t -aggregate aggr1 -space-guarantee none
vol
create -volume vol010 -size 10t -aggregate aggr1 -space-guarantee none
2) Output of
::> vol show -field files,files-used
vserver
volume files files-used
-------
------ ------ ----------
SVM1 vol001 31876689 97
SVM1 vol002 31876689 97
SVM1 vol003 31876689 97
SVM1 vol004 31876689 97
SVM1 vol005 31876689 97
SVM1 vol006 31876689 97
SVM1 vol007 31876689 97
SVM1 vol008 31876689 97
SVM1 vol009 31876689 97
SVM1 vol010 31876689 97
CHECK 1: Post
Volume creates
Image: Commit (KB)
= 56’980, Working Set (KB) = 1’874’360, Shareable (KB) = 1’831’080, Private
(KB) = 43’280
3) Mount All the
Volumes
vol
mount -volume vol001 -junction-path /vol001
vol
mount -volume vol002 -junction-path /vol002
vol
mount -volume vol003 -junction-path /vol003
vol
mount -volume vol004 -junction-path /vol004
vol
mount -volume vol005 -junction-path /vol005
vol
mount -volume vol006 -junction-path /vol006
vol
mount -volume vol007 -junction-path /vol007
vol
mount -volume vol008 -junction-path /vol008
vol
mount -volume vol009 -junction-path /vol009
vol
mount -volume vol010 -junction-path /vol010
CHECK 2: Post
Mounting the Volumes
Image: Commit (KB)
= 56’980,
Working Set (KB) = 1’874’360, Shareable (KB) = 1’831’080,
Private (KB) = 43’280
Result = no (discernable) change
4) Create Shares
to All the Volumes
cifs
share create vol001 -path /vol001
cifs
share create vol002 -path /vol002
cifs
share create vol003 -path /vol003
cifs
share create vol004 -path /vol004
cifs
share create vol005 -path /vol005
cifs
share create vol006 -path /vol006
cifs
share create vol007 -path /vol007
cifs
share create vol008 -path /vol008
cifs
share create vol009 -path /vol009
cifs
share create vol010 -path /vol010
CHECK 3: Post Creating
the Shares
Image: Commit (KB)
= 58’700, Working Set (KB) = 1’876’068, Shareable (KB) = 1’831’120, Private (KB) = 44’948
Result = no (discernable) change
5) Mapping the
Shares to a Windows Client
net
use * \\SVM1\vol001
net
use * \\SVM1\vol002
net
use * \\SVM1\vol003
net
use * \\SVM1\vol004
net
use * \\SVM1\vol005
net
use * \\SVM1\vol006
net
use * \\SVM1\vol007
net
use * \\SVM1\vol008
net
use * \\SVM1\vol009
net
use * \\SVM1\vol010
CHECK 4: Post Mapping
to the Shares
Image: Commit (KB)
= 57’572,
Working Set (KB) = 1’874’944, Shareable (KB) = 1’831’124, Private (KB) = 43’820
Result = no (discernable) change
6) Modifying the
iNodes count (Max Files) Per Volume
vol
modify -volume vol001 -files 2040109444
vol
modify -volume vol002 -files 2040109444
vol
modify -volume vol003 -files 2040109444
vol
modify -volume vol004 -files 2040109444
vol
modify -volume vol005 -files 2040109444
vol
modify -volume vol006 -files 2040109444
vol
modify -volume vol007 -files 2040109444
vol
modify -volume vol008 -files 2040109444
vol
modify -volume vol009 -files 2040109444
vol
modify -volume vol010 -files 2040109444
CHECK 5: Post
Increasing iNodes
Image: Commit (KB)
= 57’572,
Working Set (KB) = 1’874’944, Shareable (KB) = 1’831’124,
Private (KB) = 43’820
Result = no (discernable) change
FINAL CONCLUSION
From this test, it would appear that modifying the
maxfiles number does not result in an immediate increase in memory consumption
at the time of application of the setting; and that the increase in memory
utilization will occur when the iNodes are used.
APPENDIX: From
CDOT Man Pages
[-files {integer}]
- Total Files (for user-visible data)
This optionally
specifies the total number of files for user-visible data permitted on the
volume. This value can be
raised or lowered. Raising
the total number of files does not immediately cause additional disk space to
be used to track files. Instead, as more files are created on the
volume, the system dynamically increases the number of disk blocks that are
used to track files. The
space assigned to track files is never freed, and the files value cannot be decreased
below the current number of files that can be tracked within the
assigned space for the volume.
So one way that you may be able to check the memory on the nodes themselves is in diag mode do a statistics show-periodic -object bufcache -instance bufcache -interval 5
ReplyDelete