我想知道刚安装的原始Linux系统(例如32位CentOS 5.10)总共要读取多少数据才能到达虚拟控制台shell提示符?您知道,读取所有配置文件,加载二进制文件,内核映像等。
我正在寻找数量级估计。我知道Linux引导过程的详细信息差别很大。我们在说10Mb吗?100Mb?1Gb?
I need to estimate...
然后做一个测量。
我想知道刚安装的原始Linux系统(例如32位CentOS 5.10)总共要读取多少数据才能到达虚拟控制台shell提示符?您知道,读取所有配置文件,加载二进制文件,内核映像等。
我正在寻找数量级估计。我知道Linux引导过程的详细信息差别很大。我们在说10Mb吗?100Mb?1Gb?
I need to estimate...
然后做一个测量。
Answers:
安装一个系统,启动它,并检查了从块层统计数据/sys/block/${DEV}/stat
如/sys/block/sda/stat
。
引用文档:
stat文件由一行包含11个十进制值(由空格分隔)的一行文本组成。下表中汇总了这些字段,并在下面进行了更详细的描述:
Name units description ---- ----- ----------- read I/Os requests number of read I/Os processed read merges requests number of read I/Os merged with in-queue I/O read sectors sectors number of sectors read read ticks milliseconds total wait time for read requests write I/Os requests number of write I/Os processed write merges requests number of write I/Os merged with in-queue I/O write sectors sectors number of sectors written write ticks milliseconds total wait time for write requests in_flight requests number of I/Os currently in flight io_ticks milliseconds total time this block device has been active time_in_queue milliseconds total wait time for all requests
读扇区,写扇区
这些值计算从此块设备读取或写入的块的数量。有问题的“扇区”是标准UNIX 512字节的扇区,而不是任何特定于设备或文件系统的块大小。I / O完成时,计数器将递增。
您可以使用此单行代码更轻松地获取字节数:
awk '{printf("read %d bytes, wrote %d bytes\n", $3*512, $7*512)}' /sys/block/vda/stat
我在运行Scientific Linux 6.1 i386(类似于RHEL)的KVM / qemu虚拟机上进行了测试。已启用以下服务:acpid,auditd,crond,网络,postfix,rsyslog,sshd和udev-post。交换位于单独的磁盘上,因此未考虑在内。
登录提示出现后几秒钟,使用SSH远程进行了85次启动的统计信息为:
Name Median Average Stdev
------------- ------ ------- -----
read I/Os 1920 1920.2 2.6
read merges 1158 1158.4 1.8
read sectors 85322 85330.9 31.9
>> read MiBytes 41.661 41.665 0.016
read ticks 1165 1177.2 94.1
write I/Os 33 32.6 1.7
write merges 64 59.6 7.4
write sectors 762 715.2 70.9
>> write MiBytes 0.372 0.349 0.035
write ticks 51 59.0 17.4
in_flight 0 0.0 0.0
io_ticks 895 909.9 57.8
time_in_queue 1217 1235.2 98.5
引导时间约为20秒。
您必须意识到的第一件事是没有“香草”之类的东西 -您将不会以零更改立即开箱即用地运行CentOS 5.10(如果您认为自己是在自欺欺人:NFS根已经至少草莓,在开心果上也是如此。
如果您想要针对特定环境的答案(这才是真正的关键),则需要设置NFS服务器和客户端计算机,将其启动并进行测量:
这两个值对于性能至关重要。您可能还需要在某个时候设置多个客户端,并模拟系统的正常使用情况,以查看人们在日常使用系统时,他们对NFS服务器/网络提出什么样的稳态需求。工作。
另请参阅:关于容量规划的系列 -我们没有专门讨论NFS,但适用“构建,测试,强调”的一般原则。