文章目录

  • free 查看内存使用
  • top 实时查看进程运行情况
  • ps 查看进程占用的cpu和内存
  • pstree 查看进程关系
  • kill 杀死进程

free 查看内存使用

free — 查看内存使用情况

# total共多少,used已使用多少,free空闲多少,buff/cache磁盘缓存多少,available可用多少
# -m 输出结果使用 MB(兆字节)显示。默认是 KB(千字节)
[root@VM-0-11-ubuntu /home/ubuntu/alluxio]$ free -mtotal        used        free      shared  buff/cache   available
Mem:           3935        2055         118           2        1761        1626
Swap:             0           0           0
  • free 是真实未被使用的物理内存大小

  • available 是应用程序可用内存大小。

available=free+buffer+cache(可回收缓存)available = free + buffer + cache(可回收缓存) available=free+buffer+cache(可回收缓存)

top 实时查看进程运行情况

top — 实时查看进程占用内存和cpu情况

某个时刻的运行如下图:

参数意义如下:

top - 时间 up 9 days,  1:47,  几个用户,  load average(系统负载,任务队列的平均长度): 0.00(1分钟-现在), 0.01(5分钟-现在), 0.00(15分钟-现在)
Tasks任务/进程: 119 total(共), 1 running(运行中), 118 sleeping(睡眠中), 0 stopped(终止),   0 zombie(僵尸进程)
%Cpu(s)(占用cpu百分比):  0.7 us(用户空间占用),  0.5 sy(系统空间占用),  0.0 ni(用户空间中改变过优先级的进程), 98.8 id(空闲cpu),  0.0 wa(I/O等待),  0.0 hi(硬中断),  0.0 si(软中断),  0.0 st
MiB Mem(内存) : 3935.5 total,    117.7 free,   2055.5 used,   1762.4 buff/cache
MiB Swap(交换区):   0.0 total,      0.0 free,      0.0 used.   1626.6 avail Mem #(实时进程运行情况)
[进程id][用户]  [优先级][nice值] [虚拟内存] [常驻内存] [共享内存] [进程状态]
[cpu占用比] [内存占用比] [运行时间] [进程名/命令名]
PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
1490 root      20   0 1025016  81428  19296 S   1.3   2.0 238:10.99 YDService
11 root      20   0       0      0      0 I   0.3   0.0   2:47.02 rcu_sched

其中,有一个进程,kswapd0 进程,是一个虚拟内存中负责交换页的进程,如果该进程占用cpu过高,说明系统正在进行频繁的换入换出。一般是由于物理内存(非硬盘容量)不够用而导致的。

ps 查看进程占用的cpu和内存

ps — 查看进程占用的cpu和内存

# aux 使用BSD格式显示
ps -aux

例子:查看占用内存最多的5个进程

# 查看进程,按照第4列降序,然后取前5个
ps -aux | sort -k4rn | head -5

pstree 查看进程关系

pstree — 以树状的形式查看进程之间的关系

根据子进程查看父进程,可以用以下命令:

# 方案一:只能显示当前子线程的直接父进程
cat /proc/[pid]/status  # 显示结果中pid 是当前进程,ppid 是父进程
# 方案二:显示进程树
pstree -aps [pid]
pstree -aps [pid] | less  # 配合上下箭头查看,按 q 退出查看
  • -p :显示每个进程的 pid
  • -a :相同名称的进程不会合并显示
  • -s :显示当前子线程的父进程

举个例子:

命令 cat /proc/[pid]/status 的执行结果如下:

命令 pstree -aps [pid] 的执行结果如下:

kill 杀死进程

kill 命令,用于杀死进程。

kill -9 [pid]  # 强制杀死进程。等价于 kill -KILL [pid]
kill -15 [pid]  # 正常杀死一个进程。等价于 kill -TERM [pid]# pkill 可加信号参数。使用 pgrep 筛选,避免杀错。
pkill [进程名,可部分] | pgrep -l [进程名]
# 按照终端号踢出用户
pkill -t [终端号] 进程名  # pkill -9 -t pts/1 强制提踢出从 pts/1 终端登录的用户killall [进程名,全名]# pgrep -l [进程名] 筛选出包含进程名的所有进程名及其pid# pgrep [进程部分名]
# pidof [进程全名]
# 以上两个命令可以直接获取pidkill -19 [pid]  # 让进程暂停
kill -18 [pid]  # 让进程继续

Linux 下查看内存问题相关推荐

  1. linux下查看内存使用情况

    在Linux下查看内存我们一般用free命令: [root@scs-2 tmp]# free              total       used       free     shared   ...

  2. linux内存平均值,linux下查看内存使用情况[转载]

    在Linux下查看内存我们一般用free命令: [root@scs-2 tmp]# free total used free shared buffers cached Mem: 3266180 32 ...

  3. Linux下查看内存型号、主板、硬盘等等

    @Linux下查看内存型号.主板.硬盘等等 首先查看是否安装了dmidecode工具 [root@algerfan ~]# dmidecode Linux 查看内存的插槽数,已经使用多少插槽.每条内存 ...

  4. linux脚本查看系统内存,二个linux下查看内存使用情况的shell脚本()

    摘要 腾兴网为您分享:二个linux下查看内存使用情况的shell脚本(),政务易,悦作业,优化大师,王者荣耀等软件知识,以及单向历app,优路教育app,kimoji,开关电源设计软件,皮皮高清影视 ...

  5. Linux下查看内存泄露的命令

     一.   Linux下确定内存泄露 在做嵌入式开发中,例如,在 Linux 下做 C/C++ 开发,会因为调用 malloc/calloc() 函数,忘记释放堆内存.程序运行久了,会发生内存泄露问题 ...

  6. Linux下查看内存使用情况方法总结

    关注.星标公众号,直达精彩内容 来自:Specs'Blog 链接:http://9iphp.com/linux/1247.html 原文:http://ask.xmodulo.com/check-me ...

  7. linux查看主板最大内存容量,Linux下查看内存插槽数、最大...-linux下手动清理内存或缓存的...-查看linux主板内存槽与内存信息的方法详解_169IT.COM...

    一.先来看几个用dmidecode查看内存信息的例子. 1.查看内存槽数.那个槽位插了内存,大小是多少 代码示例: dmidecode|grep -P -A5 "Memory\s+Devic ...

  8. linux下查看内存频率,内核函数,cpu频率

    查看CPU: cat /proc/cpuinfo # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理C ...

  9. 轻松学会linux下查看内存频率,内核函数,cpu频率

    查看CPU: cat /proc/cpuinfo # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理C ...

  10. linux 查看虚拟机内存,Linux基础教程:Linux下查看内存使用情况

    /proc/meminfo 机器的内存使用信息 /proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址. /proc/pid/statm 进程所占用的内存 [root@localh ...

最新文章

  1. [记录]calculate age based on date of birth
  2. ASP.NET MVC3 读书笔记三(Html辅助方法下)
  3. Java序列化注意事项
  4. nutzwk oracle,NutzWk插件使用
  5. Android在 普通类(非Activity,多数为Adapter) 中 传输数据为空值 解决方法 :在startActivity 用 intent传输数据
  6. 通过 39 个 问答方式快速了解学习 Git
  7. 软件测试准备(摘要)
  8. 某虚拟化项目中思科与华为交换机链路聚合互连案例
  9. AMD规范和requirejs入门
  10. linux下MySQL密码修改过程记录
  11. Spring:Spring源码下载、保存、编译
  12. 进程调度时间片轮转c语言,时间片轮转调度算法的C语言模拟实现
  13. QT+SQL Server实现车辆管理系统 -代码具体实现
  14. 计算机上表格怎么算减法,表格里的减法怎么弄/在excle如何用函数进行加减法
  15. 企业级网络架构—云平台高可用网络的修炼之道
  16. 性能测试指南 | 一些实用的排查命令(未完待续)
  17. NFT 金融化:存在哪些机会?面临哪些挑战?
  18. java编程语言基础外文,Java编程语言基础(外文文献翻译)
  19. win11更新后任务栏空白电脑卡死怎么办?
  20. 【Spark】广播变量和累加器

热门文章

  1. 简述冯诺依曼计算机体系结构
  2. 多线程小题 —— 设计火车票模拟程序
  3. NetBean安装已下载的插件
  4. 《华为基本法》-笔记
  5. Win10 激活工具被删除或“无法成功完成操作,因为文件包含病毒或潜在的垃圾软件”
  6. 视听说加速器_腾讯加速器台服专享加速线路已开通,多款手游一键即可免费加速!...
  7. android9 coloros6版本,【OPPO Reno刷机包】A.12版 ColorOS6系统 安卓9 官方卡刷包
  8. 远程服务器网刻系统,无需U盘,网络批量安装系统,pxe网刻工具
  9. U盘制作微pe工具箱(实战)
  10. win10安装杜比驱动