很多朋友对于操作系统基础知识文件系统分析工具和不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
传统工具
df
df 通常可以查看文件系统的使用情况,如:
~# df -h 使用的文件系统大小Avail Use% Mounted ondevtmpfs 1.9G 0 1.9G 0% /devtmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs 1.9G 41M 1.9G 3% /runtmpfs 1.9G 0 1.9G 0% /sys /fs/cgroup/dev/sda1 50G 6.6G 44G 14% //dev/sdb 20G 45M 19G 1% /datatmpfs 379M 0 379M 0% /run/user/1000tmpfs 379M 0 379M 0% /run/user/0可以按照使用% 列,因为当文件系统使用率较高时,文件系统的性能会下降,并且由于资源碎片等原因,顺序I/O会降级为随机I/O。但这也不是绝对的。这取决于具体文件系统的实现。
mount
mout命令可以挂载文件系统到系统,还可以列出这些文件系统的类型和挂载参数:
~# mountsysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel) ,size=1915812k,nr_inodes=478953,mode=755)/sys/kernel/security 上的securityfs 类型securityfs (rw,nosuid,nodev,noexec,relatime)/dev/shm 上的tmpfs 类型tmpfs (rw,nosuid,nodev,seclabel /dev/pts 上的devpts 类型devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000) /run 上的tmpfs 类型tmpfs (rw,nosuid,nodev,seclabel,mode=755 /sys/fs/cgroup 上的tmpfs 类型tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)/sys/fs/cgroup/systemd 上的cgroup 类型cgroup (rw,nosuid,nodev,noexec,relatime,seclabel ,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)pstore 在/sys/fs/pstore 类型pstore (rw,nosuid,nodev,noexec,relatime)cgroup 在/sys/fs/cgroup/cpuset 类型cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)cgroup on /sys/fs/cgroup/net_cls,net_prio 类型cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_prio,net_cls /sys/fs/cgroup/cpu 上的cgroup,cpuacct 类型cgroup(rw、nosuid、nodev、noexec、relatime、seclabel、cpuacct、cpu)/sys/fs/cgroup/pids 上的cgroup 类型cgroup(rw、nosuid、nodev) ,noexec,relatime,seclabel,pids)/sys/fs/cgroup/hugetlb 上的cgroup 类型cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)/sys/fs/cgroup/devices 上的cgroup 类型cgroup (rw ,nosuid,nodev,noexec,relatime,seclabel,devices)cgroup on /sys/fs/cgroup/blkio 类型cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)cgroup on /sys/fs/cgroup/memory在/sys/fs/cgroup/freezer 上键入cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)cgroup 在/sys/fs 上键入cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)cgroup /cgroup/perf_event 类型cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)configfs 在/sys/kernel/config 上类型configfs (rw,relatime)/dev/sda1 在/类型xfs (rw,relatime,seclabel) ,attr2,inode64,noquota)rpc_pipefs 在/var/lib/nfs/rpc_pipefs 上类型rpc_pipefs (rw,relatime)selinuxfs 在/sys/fs/selinux 上类型selinuxfs (rw,relatime)debugfs 在/sys/kernel/debug 类型debugfs ( rw,relatime)hugetlbfs 在/dev/hugepages 上类型Hugetlbfs (rw,relatime,seclabel)mqueue 在/dev/mqueue 上类型mqueue (rw,relatime,seclabel)/dev/sdb 在/data 类型ext4 (rw,noatime,seclabel,丢弃,nobarrier,data=ordered)tmpfs在/run/user/1000上类型tmpfs(rw,nosuid,nodev,relatime,seclabel,size=388020k,mode=700,uid=1000,gid=1001)systemd-1在/proc/sys/fs/binfmt_misc 类型autofs (rw,relatime,fd=43,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=33198)binfmt_misc 位于/proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=388020k,mode=700)
free
free 命令可以查看buff 占用的内存大小/cache ,使用-w 参数分别显示两者,如下图
~# free -w总计已使用的空闲共享缓冲区缓存可用Mem: 3880176 336416 748160 41480 47996 2747604 3213132Swap: 0 在free命令的输出中,buffers代表buff缓存大小,cache代表页缓存大小。
top
buff/cache的大小也可以在top命令中显示,但是它们是一起显示的,就像不带-w的free命令一样,如下所示:
顶部- 22:40:39 已持续87 天,1:34,2 个用户,平均负载: 0.00, 0.01, 0.05Tasks: 总共94 个,1 个正在运行,93 个正在睡眠,0 个已停止,0 个僵尸%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 100.0 id、0.0 wa、0.0 hi、0.0 si、0.0 stKiB Mem : 3880176 总计、747648 空闲、336800 使用、2795728 buff/cacheKiB Swap: 0 总计、0 空闲、0 使用。 3212748 有效内存PID 用户PR NI VIRT RES SHR S % CPU %MEM TIME+ 命令602 root 20 0 44168 2012 1668 S 0.3 0.1 87:14.45 qemu-ga 1 root 20 0 54432 6656 4020 S 0.2 30:02.09 系统010-1 010 vmstat命令还会显示buff/cache的大小,如下所示:
~# vmstat 1procs ----------内存------------ ---交换-- -----io---- -系统-- ---- --cpu----- r b swpd 空闲buff 缓存si so bi bo 在cs us sy id wa st 1 0 0 748052 47996 2747748 0 0 0 1 1 1 0 0 100 0 0 0 0 0 748052 47996 2747748 0 0 0 0 104 100 0 0 100 0 0 0 0 0 748036 47996 2747764 0 0 0 0 147 131 0 0 100 0 0 0 0 0 748052 47996 2747764 0 0 0 0 87 87 0 0 100 0 0
vmstat
sar工具提供了很多一种文件系统统计方法。可以使用-v 参数查看文件系统上的当前活动:
# sar -v 1Linux 3.10.0-1160.11.1.el7.x86_64 (
用户评论
这篇博文介绍得很清晰!我一直想了解文件系统的内 workings,这个工具看起来非常实用,可以深入探究文件结构和分配策略。感谢作者分享这种宝贵资源!
有9位网友表示赞同!
终于能不用代码手动调试文件系统的了!这个工具确实方便用户直观地查看文件系统信息,比以前用命令行的方法简单多了。以后学习系统软件的时候肯定会派上大用场。
有18位网友表示赞同!
对于刚接触操作系统基础的概念来说,这篇博文分析得比较浅显,缺乏针对深入理解文件的理论知识的讲解。
有16位网友表示赞同!
文件系统工具很多,这个究竟有什么特别之处呢?博文的介绍过于笼统,没体现出这款工具与他人有何不同之处。
有19位网友表示赞同!
我试了一下,这个工具界面确实友好的操作简单,能清晰地展示文件的属性和连接信息。对于学习操作系统的人来说是個不错的辅助工具!
有12位网友表示赞同!
这篇文章介绍的工具看起来非常专业,功能也很强大,但对初学者来说可能有点难懂。希望作者能够出一些更基础的教程,帮助大家更好地入门。
有8位网友表示赞同!
文件系统分析很重要,这个工具可以帮助我们更好地掌握系统的运行机制。将来学习安全相关知识的时候也能派上用场!
有7位网友表示赞同!
写得真好,把复杂的文件系统理论讲得很明白。这款工具也功能强大,可以让我们更加深入地了解文件的存储结构和分配策略。
有8位网友表示赞同!
这个工具能分析各种文件系统的架构吗?例如 NTFS、EXT4 类型的? 我想知道它能支持哪些不同的操作系统环境。
有14位网友表示赞同!
看了这篇文章之后我才明白为什么我们需要学习文件系统!原来它在计算机系统中扮演着如此重要角色呀,希望有机会深入学习一下。
有15位网友表示赞同!
这个工具看起来太棒了!终于可以不用担心对文件系统的操作搞砸了。以后学习操作系统的时候会好好研究它!
有18位网友表示赞同!
不知道这篇文章提到的分析工具收费吗?价格合适吗? 还是有其他的免费的替代品可以选择呢?
有12位网友表示赞同!
这个工具对于开发人员来说超级有用,可以帮助我们更好地调试系统问题。而且操作起来非常方便,很适合用来学习文件系统的结构和功能。
有17位网友表示赞同!
文件系统分析很冷门,很少有人会去深入研究。这篇博文和这款工具或许能改变这种情况,让大家对操作系统基础有了更深层的理解!
有20位网友表示赞同!
我一直在尝试寻找一款能够直观展示文件系统信息的工具!这篇文章的介绍非常详细,功能介绍也很清楚,看起来就是我要找的那款了!
有12位网友表示赞同!
对于已经掌握操作系统原理的用户来说,这篇博文的讲解可能显得有些重复。希望作者能在未来发一些更高级的内容。
有12位网友表示赞同!
文件系统是操作系统中最核心的部分之一,但很多人都对其一知半解。这篇博文和这款工具能帮助我们更好地理解这个重要概念!
有10位网友表示赞同!
我之前也做过一些关于文件系统的研究,但这篇文章让我眼开ened了!原来还有这么强大的分析工具,真是太棒了!
有12位网友表示赞同!