[Linux服务器] Linux查看内存占用情况和磁盘空间

1605 0
Honkers 2025-3-15 22:22:05 | 显示全部楼层 |阅读模式

Linux查看内存占用情况和磁盘空间

1 ps命令

ps(process status)命令用于查看当前系统的进程状态,可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。

1.1 ps命令使用

1.1.1 ps

# 直接输入ps,显示当前进程
ps

  • PID:(Process ID)唯一的进程 ID
  • TTY:(Teletypewriter)它指的是终端类型或终端设备,用于用户与计算机进行交互的输入输出设备,例如终端窗口或控制台。
  • TIME:进程运行过程中占用 CPU 的总时间(以分钟和秒为单位),简单理解就是 CPU 运行这个进程消耗的时间。
  • CMD:启动进程的命令的名称
    执行 ps 命令时,TIME 显示为 00:00:00。这意味着该进程尚未使用 CPU ,所以没有 CPU 执行的总时间。

1.1.2 ps -ef 或者 ps aux

# 查看所有进程及相应的信息
ps -ef
ps aux

  • UID:进程对应的用户,通常是运行该进程的用户的账户名称
  • PID:进程编号
  • PPID:父进程ID,表示创建该进程的父进程的ID
  • C:CPU使用率,表示该进程占用CPU的百分比
  • STIME:start time,表示该进程的启动时间
  • TTY:终端类型,如果进程与某个终端关联,则显示该终端的名称,否则显示“?"
  • TIME:进程实际使用CPU的时间,通常以分钟或小时为单位。
  • CMD:启动进程的命令或是命令行

ps -aux

  • USER:进程的拥有者。这通常是运行该进程的用户帐户的名称。
  • PID: 进程ID。每个进程都有一个唯一的ID,用于标识该进程。
  • %CPU: 该进程占用的CPU使用率百分比。
  • %MEM: 该进程占用的物理内存使用率百分比。
  • VSZ: 虚拟内存大小,单位是KB。这表示进程使用的虚拟内存量。
  • RSS: 常驻集大小,单位是KB。这表示进程在物理内存中占用的固定大小。
  • TTY: 终端类型。如果进程没有与任何终端关联,则显示为"?"。
  • STAT: 进程状态。这描述了进程的当前状态,例如运行中、休眠等。
  • START: 进程启动的时间。
  • TIME: 该进程实际使用CPU的时间,单位是小时:分钟:秒。
  • COMMAND: 启动进程的命令名称或命令行。

1.1.3 ps -u 用户名

# 查看指定用户的进程
ps -u 用户名
ps -u root

1.1.4 ps -p PID

# 按照进程的id查看进程信息
# 查看pid为1的进程信息
ps -p 1

1.1.5 ps -o 指定信息

# 自定义显示信息,用户可以指定自己想要的信息进行显示
ps -o pid,tty,cmd
ps -eo pid,tty,cmd

1.1.6 其他用法

ps -e #显示所有进程
ps -A # 显示所有进程
ps -a #显示终端上的所有进程,包括其他用户
ps -axjf # 显示进程树

1.2 ps命令的组合使用

1.2.1 按照cpu或者内存占用率排序

# 按照CPU使用率降序显示进程
ps aux --sort=-%cpu
# 按照内存使用率降序显示进程
ps aux --sort=-%mem
# 只显示前10个
ps aux --sort=-%cpu | head
ps aux --sort=-%mem | head


1.2.2 与grep命令结合使用

查找指定用户的进程

# 查找root用户的所有进程
ps aux | grep root

1.2.3 与sort结合使用实现进程排序

  1. # ps aux | head -1 获取标题
  2. # sort 命令进行排序
  3. # -r 表示倒序排列
  4. # -n 表示按照数值大小排序
  5. # -k +3 表示按照第三列进行排序,第三列是CPU
  6. # head 默认显示前10条
  7. # head -n 条数 可以设置显示多少条
  8. # ; 分号用于分隔命令
  9. # 获取CPU资源占用最多的10个进程
  10. ps aux | head -1;ps aux | sort -rn -k +3 | head
  11. # 获取内存占用资源最多的10个进程
  12. ps aux | head -1; ps aux | sort -rn -k +4 | head
复制代码


2 top命令

top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

2.1 top命令使用

  1. # 直接使用top命令
  2. top
复制代码


  • PID:进程id
  • USER:进程所有者的用户名
  • PR:优先级
  • NI:nice值。负值表示高优先级,正值表示低优先级
  • VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  • SHR:共享内存大小,单位kb
  • S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  • %CPU:上次更新到现在的CPU时间占用百分比
  • %MEM:进程使用的物理内存百分比
  • TIME+:进程使用的CPU时间总计,单位1/100秒
  • COMMAND:命令名/命令行
    默认进入top时,各进程是按照CPU的占用量来排序的
    top命令按ctrl + c进行退出

2.2 top命令显示页面执行的功能

首先使用top命令,进入到top显示页面

? - 显示所有top显示模式下可以输入的功能

在上图所示的显示页面下,输入**?**,可以显示所有的命令


按ESC退出所有命令的显示,重新进入进程查看页面

P - 以CPU使用资源进行排序显示

在进程查看页面输入P,可以按照CPU使用资源进行排序

M - 以内存使用资源进行排序显示

在进程查看页面输入M,可以按照内存使用资源进行排序

N - 以PID排序显示

T - 按照进程使用时间排序显示

q - 表示退出

r - 重新指定nice值(优先级)

k - 杀死进程

3 free命令

查看内存的使用、空闲、缓存、交换空间

  1. free -b # byte为单位显示
  2. free -k # kb为单位显示
  3. free -m # mb为单位显示
  4. free -g # G为单位显示
  5. free -h # 自动匹配人类可读并且合适的单位
复制代码

4 df 命令

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

  1. df # 显示空间信息
  2. df -h # -h选项会根据合适的大小显示
复制代码

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

5 du命令

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

  1. # 查看当前目录的大小
  2. du -sh
  3. # 查看指定目录的大小
  4. du -sh 文件或目录
复制代码

  1. # 查看当前文件夹下所有文件大小
  2. du -h
  3. # 查看指定文件夹下所有文件大小(包含子文件夹)
  4. du -h 目录或者文件
  5. # 返回当前文件夹下的文件总数
  6. du -sm
  7. # 返回指定文件夹下的文件总数
  8. du -sm 文件夹
复制代码


du命令常用参数

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行