内存和磁盘使用率查看

内存使用状况查看 free && top

如果没有使用swap(虚拟内存),在linux内存被即将占满的情况下 ,内核会随机杀死占用较大的应用/进程。

## 以兆(m)为单位显示内存情况
$ free -m
#           total        used        free      shared  buff/cache   available
#   Mem:    1838         560          76           0        1202        1094
#   Swap:   0            0           0
#  buff/cache为缓存的内容占用内存大小(可以释放的)
#  available 表示 buff/cache 释放后还有多少内存可以使用
#  Swap 交换分区 (虚拟内存)

磁盘使用状况查看

fdisk

参考:fdisk命令
fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣
语法:fdisk(选项)(参数)

选项:
-b<分区大小>:指定每个分区的大小;
-l:列出指定的外围设备的分区表状况;
-s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块;
-u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;
-v:显示版本信息。

df

参考:df命令
df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:df(选项)(参数)

选项:
-a或--all:包含全部的文件系统;
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
-h或--human-readable:以可读性较高的方式来显示信息;
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或--inodes:显示inode的信息;
-k或--kilobytes:指定区块大小为1024字节;
-l或--local:仅显示本地端的文件系统;
-m或--megabytes:指定区块大小为1048576字节;
--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
-P或--portability:使用POSIX的输出格式;
--sync:在取得磁盘使用信息前,先执行sync指令;
-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
-T或--print-type:显示文件系统的类型;
-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
--help:显示帮助;
--version:显示版本信息。

du

du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。
语法:du [选项][文件]

选项:
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
-D或--dereference-args 显示指定符号链接的源文件大小。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或--count-links 重复计算硬件链接的文件。
## 查看磁盘有哪些分区
$ ls -l /dev/sd??
## 查看磁盘分区
$ fdisk -l
## 将afile文件中的内容写入到bfile文件中(分10次写入每次4M)
$ dd if=afile bs=4M count=10 of=bfile
## 查看磁盘分区占用情况
$ df
# 文件系统               1K-块        已用     可用 已用% 挂载点
# /dev/sda2            146294492  28244432 110498708  21% /
## 友好的展示方式
$ df -h
## /home/chri文件实际占用磁盘大小
$ du /home/chris

不停机磁盘扩容

ext4&xfx文件系统

ext4文件系统详解

ext4文件系统的基本构造

超级块、 超级块副本 、i节点(inode)、 数据块(datablock)

linux系统中每个目录或者文件都有一个对应的i节点 ,使用 ls -i命令可以查看而ext4的i节点
ext4/xfx 默认创建一个数据块的大小是4k (创建一个文件的最小占用大小是4k)

## 以查看而ext4的i节点
$ ls -i
## echo > 方式添加内容不会改变i节点(普通的修改方式会改变i节点[变为新的i节点])
$ echo xxx > /home/chris/1.txt
## rm 删除文件/目录只是将i节点 与 数据块(datablock)的连接关系断开了,所以删除1G的文件和删除1K的文件速速是相同的(rm 删除的文件 并没有真正删除)
$ rm /home/chris/1.txt
## 将afire 和 bfire 做硬链接(afire 和 bfire指向的i节点相同)(删除其中一个不影响另外一个)
$ ln afire bfire
# 131486 -rw-r--r-- 2 root root 16 Jun  6 11:01 1.txt
# 131486 -rw-r--r-- 2 root root 16 Jun  6 11:01 2.txt
## 将afire 和 bfire 做软链接(afire 和 bfire指向的i节点不同)(删除1.txt 3.txt的软链接失效)
$ ln -s 1.txt 3.txt
# 131486 -rw-r--r-- 2 root root 16 Jun  6 11:01 1.txt
# 131486 -rw-r--r-- 2 root root 16 Jun  6 11:01 2.txt
# 131476 lrwxrwxrwx 1 root root  5 Jun  6 11:20 3.txt -> 1.txt
##
$

Linux setfacl/getfacl命令详解

文件ACL针对特定用户指定权限的规则,比UGO规则更灵活
setfacl 设置文件访问控制列表,即ACL规则。而Acl(Access Control List)就是访问控制列表

语法: setfacl [-bkndRLP] { -m|-M|-x|-X … } file …
-m, --modify=acl 更改文件的访问控制列表
-M, --modify-file=file 从文件读取访问控制列表条目更改
-x, --remove=acl 根据文件中访问控制列表移除条目
-X, --remove-file=file 从文件读取访问控制列表条目并删除
-b, --remove-all 删除所有扩展访问控制列表条目
-k, --remove-default 移除默认访问控制列表
–set=acl 设定替换当前的文件访问控制列表
–set-file=file 从文件中读取访问控制列表条目设定
–mask 重新计算有效权限掩码
-n, --no-mask 不重新计算有效权限掩码
-d, --default 应用到默认访问控制列表的操作
-R, --recursive 递归操作子目录
-L, --logical 依照系统逻辑,跟随符号链接
-P, --physical 依照自然逻辑,不跟随符号链接
–restore=file 恢复访问控制列表,和“getfacl -R”作用相反
–test 测试模式,并不真正修改访问控制列表属性
-v, --version 显示版本并退出
-h, --help 显示本帮助信息

语法: getfacl [-aceEsRLPtpndvh] file …
-a, --access 只显示文件访问控制列表
-d, --default 只显示默认的访问控制列表
-c, --omit-header 不显示注释头
-e, --all-effective 打印所有有效的权利
-E, --no-effective 没有有效的打印没有有效的权利
-s, --skip-base 只包含基本项的跳过基文件
-R, --recursive 递归递归到子目录中
-L, --logical 依照系统逻辑,跟随符号链接
-P, --physical 依照自然逻辑,不要遵循符号链接
-t, --tabular 使用列表输出格式
-n, --numeric 打印数字用户/组标识符
-v, --version print version and exit

## 查看afile的控制列表
$ getfacl afile
# 结果:
#   # file: 2.txt
#   # owner: root
#   # group: root
#   user::rw-
#   group::r--
#   other::r--
## 给chris用户赋予afile文件的读写权限(+号表示额外赋予的权限)
$ setfacl -m u:chris:rw afile
#  结果:
# -rw-r--r--+ 1 root root 16 Jun  6 11:01 2.txt
## 取消赋予chris用户afile文件的执行权限
$  setfacl -x u:chris:x afile

linux RM删除文件,磁盘空间没有释放解决

磁盘的分区与挂载

现在大多使用虚拟化及docker技术进行磁盘配额划分
常用命令: fdisk、mkfs、parted、mount
大于2T使用parted进行挂载

mkfs

mkfs命令用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。
(在特定的分区建立Linux文件系统)
语法:mkfs(选项)(参数)

选项:fs:指定建立文件系统时的参数;-t<文件系统类型>:指定要建立何种文件系统;-v:显示版本信息与详细的使用方法;-V:显示简要的使用方法;-c:在制做档案系统前,检查该partition是否有坏轨。
参数:
文件系统:指定要创建的文件系统对应的设备文件名;
块数:指定文件系统的磁盘块数。      、
## 在/dev/sdc 下建立分区(问答式)
$ fdisk /dev/sdc
## 查看mkfs支持的文件系统格式
$ mkfs.
## 在/dev/sdc1 分区上建立ext4文件系统
$ mkfs.ext4 /dev/sdc1

mount

mount命令用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。

语法:mount(选项)(参数)

选项:
-V:显示程序版本;
-l:显示已加载的文件系统列表;
-h:显示帮助信息并退出;
-v:冗长模式,输出指令执行的详细信息;
-n:加载没有写入文件“/etc/mtab”中的文件系统;
-r:将文件系统加载为只读模式;
-a:加载文件“/etc/fstab”中描述的所有文件系统。
-t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
参数:
设备文件名:指定要加载的文件系统对应的设备名;
加载点:指定加载点目录。
## 创建目录
$ mkdir /mnt/sdc1
## 通常不用指定
$ mount -t ext4  /dev/dec1   /mnt/sdc1
$ mount -t auto /dev/dec1   /mnt/sdc1
##  将分区/dev/dec1 挂载到/mnt/sdc1目下(对/mnt/sdc1读写数据都会落到/dev/dec1下 )
$ mount /dev/dec1   /mnt/sdc1

用户磁盘配额

xfs文件系统的用户磁盘配额 quota
mkfs.xfs/dev/sdb1
mkdir/mnt/disk1
mount-o uquota,gquota/dev/sdb1/mnt/disk1
chmod 1777/mnt/disk1
xfs_quota-x-c’report-ugibh’/mnt/disk1
xfs_quota-x-c’limit-u isoft=5 ihard=10 user1’/mnt/disk1

交换分区(虚拟内存)的查看与创建

软件RAID的使用

逻辑卷管理

系统综合状态查看

linux 内存与磁盘管理相关推荐

  1. linux系统scsi硬盘,Linux系统SCSI磁盘管理全攻略(一)

    Linux系统SCSI磁盘管理全攻略(一) 介绍 本系列文章系统.全面地介绍了Linux 的SCSI设备管理机制和整套操作命令.包括以下六大主题:Linux SCSI子系统概述 Linux主机LUN识 ...

  2. linux 磁盘数据空 还有读写,Linux入门之磁盘管理(5)dd命令使用

    Linux入门之磁盘管理(5)dd命令使用 在Linux中,经常需要一些数据读写等测试,还有文件以及其它数据的备份迁移,一般使用cp命令可以解决一部分,但是其无法进行控制数据的流向及动作,这时就可以使 ...

  3. Linux系统的磁盘管理

    Linux系统的磁盘管理 一.环境介绍 1.Linux系统版本 2.系统磁盘情况 二.磁盘介绍 1.磁盘分区理解 2.MBR分区方案 2.GPT分区分区方案 三.分区工具fidsk使用 1.查看磁盘和 ...

  4. Linux入门之磁盘管理(3)文件系统挂载

    Linux入门之磁盘管理(3)文件系统挂载 当磁盘建立了分区,创建了文件系统,只是说明该设备可以用来存储,但是要想访问设备,就需要通过建立一个或多个挂载点,来提供给用户进行访问,在linux中,提供了 ...

  5. Linux图形化磁盘管理工具gparted

    Linux图形化磁盘管理工具gparted 有时候想要对磁盘扩容.重新分区等.又不想用复杂的命令,也记不住. 此时一般是希望一个比较方便的.类似于Windows上disk genius的工具. gpa ...

  6. Linux下的磁盘管理之LVM详解及lvm的常用磁盘操作命令

    目录 一.LVM的基本组成 1.物理卷 (PV,Physical Volume) 2.卷组 (VG,Volume Group) 3.逻辑卷 (LV,Logical Volume) 4.物理块 (PE, ...

  7. Linux笔记16.磁盘管理

    16.磁盘管理 物理组成 磁柱也是磁盘分割( partition ) 时的最小单位 扇区就是硬盘盘上面的最小储存物理量 这就是磁盘分割的重点:记录每一个分割区的起始与结束磁柱!! MBR的限制: 仅提 ...

  8. Linux—文件系统与磁盘管理(后)

    目录 Gdisk分区-基于GPT分区表 分区过程 扩展swap分区 swap分区 Shared.buff,和cache的解释 shared Buff和cache 扩展Swap分区步骤 详细步骤: 总结 ...

  9. linux内存和磁盘空间不足解决办法

    在Linux下跑项目或程序有时会遇到内存和磁盘空间不足的问题,分情况一般有以下两种解决方法. 一.内存不够 1.可以使用top命令查看内存占用情况,也可以使用ps auxw|head -1;ps au ...

最新文章

  1. 2.1.2 骑自行车的最短时间
  2. 【代码笔记】iOS-评分,支持我们
  3. SAP 将smartforms的报表转成PDF
  4. Dancing Link讲解
  5. 【Finish】Python Day 2
  6. Linux 创建进程与关闭进程详解
  7. 密钥文件登录服务器,密钥文件登录云服务器
  8. Python接口自动化之动态数据处理
  9. 黄聪:WordPress默认编辑器可视化切换不见了,非插件导致消失问题
  10. 【上交OJ】1002:二哥种花生(二维前缀和+二维差分---模版题)
  11. Python量化交易学习笔记(39)——BaoStock股票数据下载
  12. 【Java 学习笔记】《Head First Java》——基本概念
  13. 雪亮工程视频点位地图采集
  14. Hbase跨集群数据同步验证
  15. 字节跳动社招校招实习内推提前批
  16. 视频教程-清华-尹成老师-Python爬虫day13-Python
  17. leetcode刷题250天(65)——1823. 找出游戏的获胜者(约瑟夫环问题)
  18. php sid打印不出来,pinpoint php 使用不当引发棘手的问题 --psid sid tid pname ptype ah
  19. 精通 CSS+DIV 网页样式与布局 62
  20. 张量分解浅谈(四 Tucker 分解)

热门文章

  1. PostgreSQL vs MySQL——哪种关系数据库更好?
  2. Unity_MegaFiers_Morph O Matic
  3. 游戏运营 ---没用
  4. OnlyOffice DocumentServer安装说明
  5. IDEA创建新的类(Java文件)时,自动添加作者创建时间(文件注释)等信息的设置方法
  6. wait释放锁的说明
  7. 已知两点坐标求直线的一般表达式
  8. 正则表达式 /\{\{(.+?)\}\}/g是什么意思
  9. 视频教程-Vue、Spring Boot开发小而完整的Web前后端分离项目实战-Java
  10. 上海Java培训机构排名榜单已出炉,实力学员推荐不看后悔