如果我使用df命令,我只能在Solaris服务器中看到正在耗尽多少磁盘空间。但是我想知道特定的solaris区占用多少磁盘空间
答案 0 :(得分:4)
我在这些解决方案中发现的问题是它们没有考虑目录继承。是的,你会发现某个目录下有多少“空间”。但是如果你想真正找出一个区域占用多少空间,你必须走另一条路。 做一个
zonecfg -z zonename info
其中zonename是区域的名称。并查看每个inherit-pkg-dir行。
inherit-pkgdir-dir:
dir: /lib
inherit-pkgdir-dir:
dir: /sbin
任何具有继承的行都与区域硬链接。所以你会加倍 如果你只是做一个
,则计算全局区域du -sh /zonepath/zonename
基本上你只需要计算任何inherit-pkg-dir
行中没有列出的目录(不包括/ proc和/ tmp)。
cd /zonepath/zonename/root
du -sh /bin /dev /etc /home /kernel opt /system /var etc....
答案 1 :(得分:2)
尝试du命令
答案 2 :(得分:2)
是的 - 绝对是su来做这件事。
我能够运行:/ usr / xpg4 / bin / du -sk -h -x / zonepath / zonename 获取区域的UFS根分区中使用的空间。
例如,/ usr / xpg4 / bin / du -sk -h -x / zonepath / zonename
返回以下内容:3.5G / zonepath / zonename
在评估文件大小时,-x选项仅评估与文件操作数指定的文件具有相同设备的文件。
在使用此路径调用du时,-x操作数似乎只能起作用:/ usr / xpg4 / bin / du
这也可以显示区域中zfs连接驱动器的已用空间!我们在路径/ zoneepath / zonename / data上安装了一个zfs lun,并运行它匹配数据文件的“zfs list”输出:
#/ usr / xpg4 / bin / du -sk -h -x / zonepath / zoneneame / data
11G / zonepath / zoneneame / data
如果你运行#/ usr / xpg4 / bin / du -sk -h -x / zonepath / zoneneame
那么您应该获得区域中已用空间的总计,例如:
53G / zonepath / zonename
它不包括NFS连接驱动器,也不包括root不是。的所有者的目录。
我希望这有帮助!
答案 3 :(得分:1)
由于我尝试了John的解决方案和Pierre-Luc解决方案,对我有用的是:
tcsh>zoneadm list -civ
ID NAME STATUS PATH BRAND IP
0 global running / native shared
1 myZone1 running /export/zones/myZone1 native shared
2 myZone2 running /export/zones/myZone2 native shared
du -sk
以root身份
(由于本地区域无法从全局区域读取,因此我必须以du -sk
为根“
tcsh>s du -sk /export/zones/myZone1
9930978 /export/zones/myZone1
答案 4 :(得分:0)
根据Solaris Operating System Managing ZFS in Solaris 10 Containers,以下命令将为您提供所需的信息。
zfs list
答案 5 :(得分:0)
如果在zfs卷上安装区域,则可以使用zfs工具(“zfs list”)快速查看已使用的空间。
否则你将不得不使用已经发现的“du”(速度会慢得多)。