linux 块大小 linux查询文件夹大小
大家好,今天给各位分享linux 块大小的一些知识,其中也会对linux查询文件夹大小进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
linux的块大小怎么算
在UNIX/Linux文件系统中,一个块通常指的是磁盘上的物理存储单元,其大小标准设置为1KB。每个块的编号占用4个字节的空间,这意味着每个块可以唯一标识256个不同的块。直接地址的块数为10个,一次间接地址可以访问256个块,二次间接地址则可以访问256的平方个块,三次间接地址能够访问256的三次方个块。
要将逻辑文件的字节偏移量转换为逻辑块号和块内偏移,首先进行如下计算:将逻辑文件的字节偏移量除以块的大小,结果的整数部分即为逻辑块号,小数部分则是块内的偏移量。接着,使用多重索引结构,在索引节点中根据逻辑块号通过直接索引或间接索引找到对应的物理块号。
例如,偏移量为263168字节的逻辑块号计算如下:263168除以1024等于257,这是逻辑块号。块内偏移量则是263168减去257乘以1024,结果为0。由于10小于257且257小于256加10,因此263168字节的偏移量在一次间接寻址的范围内。
类似地,对于9999字节的偏移量,计算如下:9999除以1024得到9余783,因此选择块号为9的间接块,并在该块的783字节位置找到对应的数据。
总结来说,Linux文件系统中的块大小是1KB,通过逻辑块号和块内偏移量的计算,可以有效地在文件系统中定位数据。
Linux性能度量标准
1) CPU使用率:每个处理器的整体使用率。如果在一段持续时间内CPU的使用率超过80%,则处理器可能有瓶颈。
2)用户进程消耗CPU的时间:CPU花费在用户进程的百分比,包括nice time。较高值的user time通常是有利的,因为系统在执行实际的工作。
3)内核操作消耗CPU的时间:CPU花费在内核操作的百分比,包括IRQ和softirq时间。较高和持续的system time值指出在网络和驱动程序堆栈中的瓶颈。一个系统通常应保持花在内核操作上的时间尽可能的少。
4)等待: CPU花费在等待(由于一个I/O操作发生等待)上的时间总量,像是阻塞值。一个系统不应该花费太多时间等待(因为I/O操作)否则应该检查各自的I/O子系统性能。
5) CPU空闲时间:系统空闲等待任务的CPU百分比。
6) Nice消耗CPU时间:CPU花费在re-nicing进程(更改进程的执行顺序和优先级)上的时间百分比。
7)平均负载:load average不是一个百分比,而是以下总和的滚动平均值:
•队列中等待处理的进程数。
•等待不可中断任务被完成的进程数。
也就是说,TASK_RUNNING和TASK_UNINTERRUPTIBLE进程数的总和的平均值。如果进程请求CPU时间而被阻塞,load average会增加。另一方面,如果每个进程得到直接访问CPU的时间,它们没有在CPU周期丢失,则负载将减小。
8)可运行的进程:已经准备好执行的进程数。在一段持续的时间内,这个值不应该超过物理处理器数量的10倍。否则处理器可能是瓶颈。
9)阻塞的进程:不被执行的进程数,因为要等待I/O操作结束。阻塞的进程数能反映出是否有I/O瓶颈。
10)上下文切换:在系统上发生线程之间切换的数量。大量上下文切换如果与大量中断相关,则可能是驱动程序或应用程序出现问题。上下文切换通常是不利的,因为每一次上下文切换都会导致CPU缓存被刷新,但是有些上下文切换是必要的。
11)中断:中断包含硬中断与软中断。硬中断对系统性能有更加不利的影响。较高的中断值表明可能有软件瓶颈,可能是在内核中,也可能是一个驱动程序出现瓶颈。记住,中断还包括CPU时钟引起的中断。
1)空闲内存:对比大多数其他操作系统,在Linux中不应该只关注空闲(free)内存的值。 Linux内核分配大部分未使用的内存作为文件系统缓存,所以从已使用的(used)内存中减去缓冲(buffer)和缓存(cache)的内存数量,来确定(有效的)空闲(free)内存。
2)使用的swap:已使用的swap空间的数量。swap空间的使用只能告诉你Linux管理内存真的有效。Swap In/Out是一个识别内存瓶颈的可靠手段。在一段持续的时间内每秒200到300以上的分页值,表明可能有内存瓶颈。
3)缓冲与缓存:缓冲被分配作为文件系统和块设备缓存。
4) SIab:内核使用的内存数。注意内核的分页不能移出到磁盘。
5)活跃与非活跃内存:关于活跃使用的系统内存信息。非活跃内存可能是kswapd守护进程swap out到磁盘的候选者。
1) I/O等待:CPU等待一个I/O操作的发生所花费时间。较高和持续的值很多时候可能表明存在一个I/O瓶颈。
2)平均队列长度:未完成的I/O请求数量。一般情况下,一个磁盘有2到3个队列是最佳的,较高的值可能表明有一个磁盘I/O瓶颈。
3)平均等待时间:服务一个I/O请求所测量的平均时间,以毫秒为单位。等待时间是由实际的I/O操作和它在I/O队列中等待的时间组成的。
4)每秒传输:每秒钟多少个I/O操作被执行(读和写)。该指标要结合每秒kB值,以帮助确定系统的平均传输大小。平均传输大小一般应该与你的磁盘子系统使用的条带大小相匹配。
5)每秒读取/写入块的数量:每秒读和写的块数,在2.6内核中块为1024B。早期的内核可能会报告不同的块大小,从512B到4KB。
6)每秒读取/写入的字节:从块设备读取和写入(读和写到块设备)的字节数,表示从块设备(到块设备)传输的实际数据量。
1)接收和发送的数据包:网络接口接收和发送数据包的数量。
2)接收和发送的字节:网络接口接收和发送的字节数。
3)每秒钟的冲突数量。
linux 怎么修改块大小
1、查看os系统块的大小
[root]#/sbin/tune2fs-l/dev/sda1
2、查看os系统页的大小
[oracle@skate-test~]$ getconf PAGESIZE
4096
3、修改块的大小:
创建文件系统时,可以指定块的大小。如果将来在你的文件系统中是一些比较大的文件的话,使用较大的块大小将得到较好的性能。将ext2文件系统的块大小调整为4096byte而不是缺省的1024byte,可以减少文件碎片,加快fsck扫描的速度和文件删除以及读操作的速度。另外,在ext2的文件系统中,为根目录保留了5%的空间,对一个大的文件系统,除非用作日志文件,5%的比例有些过多。可以使用命令
# mke2fs-b 4096-m 1/dev/hda6
4、将它改为1%并以块大小4096byte创建文件系统。
使用多大的块大小,需要根据你的系统综合考虑,如果系统用作邮件或者新闻服务器,使用较大的块大小,虽然性能有所提高,但会造成磁盘空间较大的浪费。比如文件系统中的文件平均大小为2145byte,如果使用4096byte的块大小,平均每一个文件就会浪费1951byte空间。如果使用1024byte的块大小,平均每一个文件会浪费927byte空间。在性能和磁盘的代价上如何平衡,要看具体应用的需要。可以使用命令
[root@localhost~]# lvreduce-L 6G/dev/sda5