Linux 文件系统入门命令
rtm16:~ # uname -a
Linux rtm16 4.4.73-5-default #1 SMP Tue Jul 4 15:33:39 UTC 2017 (b7ce4e4)
x86_64 x86_64 x86_64 GNU/Linux
上述表示 :当前系统为 Linux, 系统主机名称为:rtm16
linux内核版本:4.4.73-5 系统架构为:x86_64
rtm16:~ # cat /etc/issue
Welcome to SUSE Linux Enterprise Server 12 SP3 (x86_64) - Kernel \r (\l).
rtm16:~ #
上述表示该系统为 SUSE 12SP3
rtm16:~ # cat /proc/cpuinfo | grep processor | wc -l
8
其中"|" 为管道符,表示并行执行, grep 为文本过滤器命令,wc 为(word count)
即统计单词数量 参数 -l(line)表示统计行数 ,整行该命令表示:将查看的cpu信息的结
果通过管道过滤查看 processor 的信息,在 将获取的 processor的信息通过管道 统计
该结果的个数
rtm16:~ #
rtm16:/proc # cat /proc/cpuinfo
processor : 0 # CPU处理器序号,从0开始,可通过该序号查看CPU个数
vendor_id : GenuineIntel # CPU制造商,因特尔正式版
cpu family : 6 # CPU产品系列代号,即第6代CPU
model : 62 # CPU属于其系列的哪一代的代号
model name : Intel(R) Xeon(R) CPU E5-4620 v2 @ 2.60GHz # 处理器型号,主频
stepping : 4 # CPU属于制作更新版本
microcode : 0x428
cpu MHz : 2600.000 # CPU主频率
cache size : 20480 KB # CPU二级缓存大小
physical id : 0 # 单个CPU 的标号
siblings : 2 # 单个CPU逻辑合数
core id : 0 # 当前物理核在其所处的CPU中的编号
cpu cores : 2 # 该逻辑核所处的CPU物理核数
apicid : 0 #
initial apicid : 0
fpu : yes # 是否具有浮点运算单元
fpu_exception : yes # 是否支持浮点计算异常
cpuid level : 13 # 执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指
# 令会返回不同的内容
wp : yes # 表明当前CPU是否在内核态支持对用户空间的写保护
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon
pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16
sse4_1 sse4_2 popcnt aes xsave avx hypervisor lahf_lm ida arat
epb pln pts dtherm # 当前CPU支持的功能
bugs :
bogomips : 5200.00 # 在系统内核启动时粗略测算的CPU速度
clflush size : 64 # 每次刷新缓存的大小单位
cache_alignment : 64 # 缓存地址对齐单位
address sizes : 40 bits physical, 48 bits virtual # 可访问地址空间位数
power management:
...
...
只需关注 processor 的序号即可
rtm16:~ # cat /proc/meminfo | grep Mem
MemTotal: 131834316 kB # 系统内核可支配的内存
MemFree: 127166996 kB # 系统尚未使用的内存
MemAvailable: 129782116 kB # 系统可用内存
rtm16:~ #
- 查看系统内存详细信息
cat /proc/meminfo
rtm16:~ # cat /proc/meminfo
MemTotal: 131834316 kB # 系统内核可支配的内存
MemFree: 127164532 kB # 系统尚未使用的内存
MemAvailable: 129779648 kB # 系统可用内存,包括cache、buffer等
Buffers: 187560 kB # 一般是用在写入磁盘的,缓冲区大小
Cached: 3807988 kB # 缓存区,存放CPU最近使用过的部分数据
SwapCached: 0 kB
Active: 3574188 kB
Inactive: 690120 kB
Active(anon): 599176 kB
Inactive(anon): 101516 kB
Active(file): 2975012 kB
Inactive(file): 588604 kB
Unevictable: 80 kB
Mlocked: 80 kB
SwapTotal: 16779260 kB
SwapFree: 16779260 kB
Dirty: 36 kB
Writeback: 0 kB
AnonPages: 268812 kB
Mapped: 267256 kB
Shmem: 431944 kB
Slab: 238224 kB
SReclaimable: 202476 kB
SUnreclaim: 35748 kB
KernelStack: 4624 kB
PageTables: 9888 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 82696416 kB
Committed_AS: 1476600 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 180224 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 118656 kB
DirectMap2M: 134098944 kB
rtm16:~ #
只需要关注 MemTotal、MemFree前几个参数即可
rtm16:~ # df -ah
Filesystem Size Used Avail Use% Mounted on
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
devtmpfs 63G 0 63G 0% /dev
securityfs 0 0 0 - /sys/kernel/security
tmpfs 63G 41M 63G 1% /dev/shm
devpts 0 0 0 - /dev/pts
tmpfs 63G 242M 63G 1% /run
tmpfs 63G 0 63G 0% /sys/fs/cgroup
cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore 0 0 0 - /sys/fs/pstore
cgroup 0 0 0 - /sys/fs/cgroup/memory
cgroup 0 0 0 - /sys/fs/cgroup/devices
cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct
cgroup 0 0 0 - /sys/fs/cgroup/blkio
cgroup 0 0 0 - /sys/fs/cgroup/freezer
cgroup 0 0 0 - /sys/fs/cgroup/perf_event
cgroup 0 0 0 - /sys/fs/cgroup/pids
cgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_prio
cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
/dev/mapper/VG01-lv02 171G 17G 154G 10% /
systemd-1 - - - - /proc/sys/fs/binfmt_misc
mqueue 0 0 0 - /dev/mqueue
hugetlbfs 0 0 0 - /dev/hugepages
debugfs 0 0 0 - /sys/kernel/debug
/dev/sda1 979M 56M 856M 7% /boot
/dev/mapper/VG01-LV01 9.8G 1.7G 7.6G 19% /home
tmpfs 13G 16K 13G 1% /run/user/483
tmpfs 13G 0 13G 0% /run/user/0
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
rtm16:~ #
介绍:第一列 Filesystem 为文件系统名称,第二列 Size 该文件目录存储大小
第三列 Used 为已使用的存储大小 第四列 Avail 可用的存储大小
第五列 Use% 已使用所占存储百分比, 第六列 Mounted on 文件挂载目录
命令介绍:df (report file system disk space usage):报告文件系统磁盘空间使用
参数 -a 表示ALl ,查看所有块设备的文件系统
-h 表示 human 以人类可阅读的方式展示
df -ah 表示已人可阅读的方式查看所有的块设备文件磁盘使用情况
更多使用请查看 rtm16:~ # df --help
rtm16:~ # free -g
total used free shared buffers cached
Mem: 125 4 121 0 0 3
-/+ buffers/cache: 0 125
Swap: 16 0 16
rtm16:~ #
命令介绍: free 展示文件系统中空闲和使用的内存数量
参数 -g(giga) : 表示以giga字节展示内存的数量大小,即单位为(G)
total:表示总物理内存 125G
used:表示已使用的内存 4G
free:表示空闲的物理内存 121G
rtm16:~ # free -h
total used free shared buffers cached
Mem: 125G 4.5G 121G 421M 183M 3.8G
-/+ buffers/cache: 460M 125G
Swap: 16G 0B 16G
rtm16:~ #
该 free -h 以人类可阅读的方式展示内存
rtm16:~ # fdisk -l
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0007a6a8
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2105343 2103296 1G 83 Linux
/dev/sda2 2105344 35663871 33558528 16G 82 Linux swap / Solaris
/dev/sda3 35663872 419430399 383766528 183G 8e Linux LVM
Disk /dev/mapper/VG01-lv02: 173 GiB, 185740558336 bytes, 362774528 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/VG01-LV01: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
rtm16:~ #
命令介绍:fdisk :操作磁盘分区表
-l (list) :列出指定设备的分区表信息
sd 代表的是SCSI,SATA接口硬盘
hd 代表IDE接口的硬盘
sda 和 hda 最后面的a都代表的是第一块硬盘
sda1 和 hda1 则代表的是该硬盘的第一分区
rtm16:/proc # uptime
12:59pm up 168 days 22:24, 3 users, load average: 0.03, 0.50, 0.60
rtm16:/proc #
表示系统服务器当前时间为: 12:59pm
up 168 days 22:24 表示该系统已经运行了168天22小时24分钟
3 users 表示当前在线的客户端用户数为 3个
load average 表示系统负载情况
第一个 0.03为最近1分钟的负载
第二个0.50 表示最近5分钟的负载
第三个0.60 表示最近15分钟的负载
rtm16:/proc # w
13:10:46 up 168 days, 22:35, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
super pts/0 11.205.243.131 10:13 4:49 0.21s 0.21s -bash
super pts/1 11.205.243.131 12:36 0.00s 0.19s 0.00s w
rtm16:/proc #
命令介绍:w:展示当前登陆的系统用户和正在做什么
USER:当前在线登陆的用户名称
TTY:用户登陆的设备
FROM:用户所在的IP地址
LOGIN@ :用户登陆的时间
IDLE:用户空闲时间
JCPU:在某段时间内,所有与该用户相关的进程任务所耗费的时间
PCPU:指WHAT域的任务执行后耗费的时间
WHAT:表示当前执行的任务
第一行与 uptime展示的相同
rtm16:/proc # vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 127157272 187592 4010992 0 0 0 1 0 0 0 0 100 0 0
0 0 0 127157428 187592 4010992 0 0 0 0 31 57 0 0 100 0 0
0 0 0 127157372 187592 4010992 0 0 0 6 33 59 0 0 100 0 0
1 0 0 127157388 187592 4010992 0 0 0 7 34 62 0 0 100 0 0
rtm16:/proc #
该命令表示: 每隔 5s 查看一次系统虚拟内存情况
procs(进程)
r : 表示运行的队列数量(即多少个进程真的分配到CPU),当该值超过了CPU数量,
则会出现CPU瓶颈,该值也和top的负载有关,若负载超过3就比较高,超过5 则
高,超过10则不正常,top的负载类似每秒运行的队列,若队列过大,则表示cpu
很繁忙
b : 表示阻塞的进程数量,若存在,则会影响系统性能
memory(内存)
swpd:虚拟内存已使用的大小,如果大于0则表示机器物理内存不足
free:空闲的物理内存大小
buff:设备之间的缓冲
cache:CPU和内存之间的缓存,用于将物理内存的一部分拿来当做文件和目录的缓
存,提高程序的运行性能
si: 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内
存泄露了,要查找耗内存进程解决掉
so:每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。
bi: 块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,
默认块大小是1024byte
bo:块设备每秒发送的块数量
in:每秒CPU的中断次数,包括时间中断
cs:每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,
也要进程上下文切换,这个值要越小越好,
us: 用户CPU时间
sy:系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。
id:空闲 CPU时间,一般来说,id + us + sy = 100,
wa:等待IO CPU时间
st: