内存查看命令
- 内存查看命令free、top
top写过了,在进程管理里 - free命令
free
命令用于显示系统内存的使用情况,包括物理内存、交换空间和内核缓冲区的信息。通过free
命令可以快速了解系统当前的内存使用情况,有助于监控系统性能和调优。
基本用法
-
显示内存使用情况:
free
-
显示以MB为单位的内存使用情况:
free -m
-
显示以GB为单位的内存使用情况:
free -g
输出解释
free
命令的输出通常包括以下几个部分:
- 总内存(Total):系统总共可用的物理内存。
- 已用内存(Used):当前已被使用的物理内存。
- 空闲内存(Free):当前未被使用的物理内存。
- 共享内存(Shared):被共享的内存。
- 缓冲区/缓存(Buffers/Cache):用于缓存数据的内存。
- 交换空间(Swap):系统的交换空间总量、已使用和空闲的交换空间。
示例输出
total used free shared buff/cache available
Mem: 2048000 345000 1500000 12000 200000 1600000
Swap: 1048576 50000 998576
在示例输出中,Mem
部分显示了物理内存的使用情况,Swap
部分显示了交换空间的使用情况。
通过free
命令,可以快速查看系统的内存使用情况,帮助管理员及时调整系统资源以提高性能。
swap分区
交换分区(Swap Partition)是Linux系统中用于扩展物理内存的一种机制。当系统的物理内存不足时,操作系统会将不活跃的内存页移动到交换分区,从而释放物理内存供其他进程使用。
主要特点
-
扩展内存:交换分区可以在物理内存不足时提供额外的内存空间,避免系统因内存不足而崩溃。
-
性能影响:虽然交换分区可以扩展内存,但访问交换分区的速度远低于物理内存,因此频繁使用交换会导致系统性能下降。
-
交换文件:除了交换分区,Linux还支持使用交换文件(swap file)作为交换空间,灵活性更高。
创建交换分区
-
创建交换分区:
使用fdisk
或parted
等工具创建一个新的分区,并将其类型设置为Linux swap
。 -
格式化交换分区:
mkswap /dev/sdXn
-
启用交换分区:
swapon /dev/sdXn
-
查看交换分区状态:
swapon --show
-
在启动时自动启用交换分区:
在/etc/fstab
文件中添加一行:/dev/sdXn none swap sw 0 0
交换空间的大小
- 通常建议交换空间的大小为物理内存的1到2倍,但具体大小应根据系统用途和负载进行调整。
监控交换使用情况
可以使用free
命令或top
命令查看交换空间的使用情况,帮助管理员判断是否需要调整交换空间的大小或配置。
磁盘查看命令
fdisk
fdisk
是一个磁盘分区工具,用于创建、删除、调整磁盘分区。使用fdisk
命令时,需要以管理员权限运行。输出的字符含义包括:Disk /dev/sda: 1000.2 GB
:表示磁盘的设备名称和总容量。Units: sectors of 1 * 512 = 512 bytes
:表示磁盘的扇区大小。Sector size (logical/physical): 512 bytes / 4096 bytes
:表示逻辑扇区大小和物理扇区大小。Partition Table: gpt
:表示磁盘的分区表类型。Disk Flags
:表示磁盘的标志信息。
fdisk
命令用于磁盘分区管理,可以按照以下步骤使用:
1. 以管理员权限登录系统。
2. 运行fdisk -l
命令查看系统中的磁盘信息。
3. 运行fdisk /dev/sdX
(X为磁盘字母,如a、b等)命令对指定磁盘进行分区操作。
4. 根据提示,使用m
命令查看帮助信息,然后使用n
、d
、p
等命令创建、删除、显示分区。
5. 使用w
命令保存更改并退出fdisk
。
fdisk
命令输出的内容包括:Disk /dev/sda: 1000.2 GB
:表示磁盘的设备名称和总容量。Units: sectors of 1 * 512 = 512 bytes
:表示磁盘的扇区大小。Sector size (logical/physical): 512 bytes / 4096 bytes
:表示逻辑扇区大小和物理扇区大小。Partition Table: gpt
:表示磁盘的分区表类型。Disk Flags
:表示磁盘的标志信息。
df
df
命令用于显示文件系统的磁盘空间利用情况。使用df
命令时,常用参数包括-h
用于以人类可读的格式显示磁盘空间大小。输出的字符含义包括:Filesystem
:表示文件系统的名称。Size
:表示文件系统的总大小。Used
:表示已使用的空间大小。Available
:表示可用空间大小。Use%
:表示已使用空间占总空间的百分比。Mounted on
:表示文件系统的挂载点。
df
命令用于显示文件系统的磁盘空间利用情况,使用方法为:
-df -h
:以人类可读的格式显示磁盘空间大小。
-df -T
:显示文件系统类型。
-df -i
:显示inode使用情况。
df
命令输出的内容包括:Filesystem
:文件系统的名称。Size
:文件系统的总大小。Used
:已使用的空间大小。Available
:可用空间大小。Use%
:已使用空间占总空间的百分比。Mounted on
:文件系统的挂载点。
du
du
命令用于显示指定目录或文件的磁盘使用情况。使用du
命令时,常用参数包括-h
用于以人类可读的格式显示磁盘空间大小。输出的字符含义包括:size
:表示目录或文件占用的磁盘空间大小。directory/file name
:表示目录或文件的名称。
du
命令用于显示指定目录或文件的磁盘使用情况,使用方法为:
-du -h
:以人类可读的格式显示磁盘空间大小。
-du -s
:仅显示总大小而不显示子目录大小。
-du -a
:显示所有文件和目录的大小。
-
du
命令输出的内容包括:size
:目录或文件占用的磁盘空间大小。directory/file name
:目录或文件的名称。
-
du
和ls
查出的空间大小的区别在于,du
命令显示的是实际磁盘空间的使用情况,包括文件占用的磁盘空间大小,而ls
命令只显示文件的大小,不考虑文件系统的簇大小或磁盘块大小等因素。因此,du
命令显示的空间大小更准确。
dd
dd
命令是一个用于复制文件和转换文件的命令行工具,其名称来源于“数据转换和复制(Data Definition)”。dd
命令的基本语法如下:
dd [option]...
dd
命令的常用选项包括:
if=input_file
:指定输入文件,即源文件。of=output_file
:指定输出文件,即目标文件。bs=block_size
:设置块大小,用于指定每次读取和写入的字节数。count=blocks
:指定要复制的块数。seek=blocks
:在输出时跳过指定的块数。skip=blocks
:在输入时跳过指定的块数。status=progress
:显示进度信息。conv=conversion
:指定转换选项,如conv=notrunc
用于保留输出文件的长度。
dd
命令的功能包括:
- 复制文件:可以将一个文件的内容复制到另一个文件。
- 创建空洞文件:通过
/dev/zero
或/dev/null
设备创建一个不占用实际磁盘空间的空洞文件。 - 转换文件格式:可以通过设置不同的块大小和转换选项来转换文件的格式。
- 备份和恢复数据:可以用于备份和恢复磁盘镜像或分区数据。
eg:
可以使用dd
命令来创建空洞文件,空洞文件是一种不占用实际磁盘空间的文件,可以通过以下命令创建:
dd if=/dev/zero of=/path/to/your/file bs=1M count=100 seek=10
if=/dev/zero
:指定输入文件为/dev/zero
,即从空字符流中读取数据。of=/path/to/your/file
:指定输出文件的路径和名称。bs=1M
:设置块大小为1MB,可以根据需要调整。count=100
:指定写入的块数,这里写入100个块,总共1GB。seek=10
:跳过文件开头的10个块,创建一个1GB大小的空洞文件。
通过这个命令,您可以创建一个指定大小的空洞文件,该文件不会占用实际磁盘空间,但会占用文件系统的inode。