怎样查看Linux服务器硬盘和内存使用情况

2015年9月18日 | 分类: 【技术】

Linux查看磁盘空间命令

1、df

df以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息:

使用df -h命令来查看磁盘信息, -h 选项为根据大小适当显示:

显示的内容参数含义

内容参数 含义
Filesystem 文件系统
Size 分区大小
1k-blocks 单位是1KB(使用df查看)
Used 已用容量
Avail 还可用的容量
Use% 已用百分比
Mounted on 挂载点
2、du

du (disk usage),含义为显示磁盘空间的使用情况,用于查看当前目录的大小

du常用参数列表

参数 含义
-s 对每个Names参数只给出占用的数据块总数
-a 递归地显示指定目录中各文件及子目录中各文件占用的数据块数
-b 以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)
-k 以1024字节为单位列出磁盘空间使用情况
-c 最后再加上一个总计(系统默认设置)
-l 计算所有的文件大小,对硬链接文件,则计算多次
-x 跳过在不同文件系统上的目录不予统计
-h 以K,M,G为单位,提高信息的可读性

注: 若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

关于dfdu详细参数列表可参考下述菜鸟教程链接:

1. 查看CentOS服务器硬盘情况

查看有几块硬盘

df -lh

输出:

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                     6.5G  692M  5.5G  12% /
tmpfs                 764M     0  764M   0% /dev/shm
/dev/sda1             485M   30M  430M   7% /boot

有一个sda1的scsi硬盘分区,还有一个lvs的卷。这里可以很显示的看出各硬盘的分区、挂载情况,还能看到分区的空间使用情况。

查看硬盘每个分区的详细情况

fdisk -l

输出:

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003bc52

  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        1306     9972736   8e  Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 6987 MB, 6987710464 bytes
255 heads, 63 sectors/track, 849 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/VolGroup-lv_swap: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

fdisk -l默认是查看所有的硬盘,如果只想查看sda盘的分区情况,可以使用命令:

fdisk -l /dev/sda

这样就不会列出VolGroup-lv卷的信息了。

输出:

I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

查看磁盘IO状态

iostat -d -x -k 1 10

查看某个目录占用空间的大小

当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢?

du -sh [dirname|filename]

以易读的格式显示指定目录或文件的大小,-s选项指定对于目录不详细显示每个子目录或文件的大小。

显示前10个占用空间最大的文件或目录:

du -s * | sort -nr | head

查看哪个目录占用了这么多的磁盘,如果找到后,依次进入那个目录,利用相同的办法,就能定位到文件上去。

用root到/目录下去利用命令:

du -s -h ./*

2. 查看Linux服务器内存使用情况

free命令

free -m

输出:

            total       used       free     shared    buffers     cached
Mem:          1526        182       1344          0         16         99
-/+ buffers/cache:         65       1460
Swap:         3071          0       3071

很清晰明白的显示出了总内存多少,已使用多少,还剩下多少。

top命令

top

输出:

Mem:   1563088k total,   186784k used,  1376304k free,    17444k buffers
Swap:  3145720k total,        0k used,  3145720k free,   101980k cached

vmstat命令

vmstat

输出:

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 1376320  17452 101980    0    0     1     1    4    5  0  0 100  0  0

参考资料:《linux 下查找大于100M的文件 》