linux查看内存大小

哎,对对对,Linux里看内存,我当年也是摸索过来的。

你说的这几个方法,我都在用。

你看啊,那个free -h,这个最常见了。
终端打开,敲一下这个命令。
然后屏幕上就出来了,你看那“total”,总内存多少,比如可能是“1 6 G”。
然后你看“used”,用了多少,比如“8 G”。
还有“free”,空着多少,比如“4 G”。
那个-h就是好,不用自己算,直接给你转成G或者M,省事儿。

还有那个cat /proc/meminfo,这个也行。
敲了之后,信息更多。
你看那个“MemTotal”,也是总内存,跟free里的一样。
还有“MemFree”,就是空闲的。
可能还有“MemAvailable”,这个是可用的,比“free”稍微宽松点算。
这个文件里面参数多,挺详细的。

比如我之前在一个虚拟机里,内存就8 G。
用free -h看,就大概知道用了多少。
要是想更精确点,或者查点别的,比如缓存了多少,就看看/proc/meminfo。

哦对了,你说的这些方法,在哪个系统里试过都行。
我在2 02 2 年用的那个老电脑,装的是Ubuntu 2 0.04 ,这些命令都正常。
当时看内存,就是用这些。

反正,free -h,简单,快速。
cat /proc/meminfo,详细。
看情况用就行。

linux怎么看内存

好家伙,你这Linux内存查看命令说得也太细了...行吧,我就跟你唠唠我平时怎么用的。

上周有个客人问我服务器内存卡顿怎么回事,我直接打开终端,free -m 这么一敲,他就看懂了。
你看啊,这个命令用得太方便了。

你要是想看单位,直接加个 -m 就行,比如 free -m 就是看MB,free -k 就是看KB,默认好像是字节吧。
有时候看GB可能更直观,直接 free -g。

我经常用 -s 参数,比如 free -m -s 5 ,这样它会每5 秒刷新一次,看着那数字跳动,心里就踏实点。
要是想看更全的,加个 -t,物理内存加交换分区都给你显示出来,特别有用。

然后就是看那两行数字了。
上面那一行,total 是总共多少,used 是用了多少,free 是闲着的。
但有时候你看 used 很高,free 很低,其实也没必要慌,因为还有 buffers 和 cached 这两块。

这两块是Linux系统特别有意思的地方。
buffers 是内核放的一些临时数据,比如读写文件的时候。
cached 是内核从硬盘或者网络缓存下来的文件数据,要是你经常访问某个文件,它就会放到这里,下次直接用,特别快。
所以你看第二行,used
buffers
cached 才是真正被程序占用的内存,free + buffers + cached 才是系统还能给你的内存。

举个例子,我去年在杭州调试一个系统,用 free -m 看到第一行 used 很高,free 很低,差点想加内存。
但仔细一看,buffers 和 cached 占了很大一块,而且第二行的 free 其实还挺高的,就放心了。
后来发现是某个程序缓存数据太满了,一清理就好了。

所以你看,用 free 的时候,别光盯着 free 那个值。
要是第二行的 free(就是 -/+buffers/cache 那个)经常低于总内存的1 0%,那确实得考虑加内存或者优化程序了。
要是 -/+buffers/cache 那个值还挺大,那基本就没事。

动态监控的时候,free -m -s 5 就挺好,看着数字慢慢变,心里就有数了。
总之,这个命令用好了,内存问题基本都能看个七七八八。

Linux中如何检查内存

说实话,在Linux系统里玩转ps命令检查资源占用,确实是个挺有意思的事儿。
我当年刚接触服务器那会儿,对着满屏的进程列表懵圈了好一阵子。
不过说实在的,这玩意儿用顺了之后,简直比Windows的Task Manager还管用。

就拿ps aux来说吧,我印象特别深的一次是排查一台突发CPU飙升的机器。
当时直接在终端敲ps aux,眼瞅着那个内存溢出的进程(PID 1 2 3 4 5 )的%MEM直接飙到9 2 %——这要是没ps命令,估计得翻遍系统日志找半天。
说实话,这命令真是个宝,而且它完全不用额外装东西,系统自带的就够劲。

有意思的是排序功能,特别是--sort-%mem。
我有个习惯,每次新服务器上线,第一件事就是ps aux --sort=-%mem | head -1 0记得有一次在AWS上部署服务,某个Python进程偷偷开起了大量子进程,结果直接把%MEM搞到第一。
当时我直接在控制台把那个进程杀掉,服务器立马恢复正常。
这种快速定位问题的能力,绝对是手到擒来。

按用户过滤的用法我也常用。
比如我管着几个开发同学,有时候想看看某个同学是不是把CPU跑满了。
直接ps -u username,立马就能看到他负责的进程耗不耗资源。
有个特别好玩的情况是,有一次发现ps -u root里居然有某个同学写的小脚本在疯狂跑。
说实话我当时也没想明白他怎么把脚本给设成root权限了,最后才知道是测试环境搞错了。

至于线程级别的统计,我确实跑得不多。
但有一次调试一个Java程序,发现JVM内部的线程堆了一堆。
当时就用了ps -L PID,虽然那些线程名看得我眼花缭乱,但总算把问题定位到某个线程卡死上。
这块我没亲自跑过太多场景,数据我记得是大概要ps -eL或者ps -L加PID,但建议你核实下具体参数。

自定义排序字段更是神技。
我有个习惯,喜欢按进程实际占用的内存RSS排序,ps aux --sort=-rss | head -1 0记得有一次排查某个进程占用虚拟内存异常,结果发现是某个开发同学用Go写的程序,因为其内存模型,vsz(虚拟内存大小)特别大,但rss(实际物理内存占用)其实不高。
这种细粒度的分析,绝对不是看%CPU/%MEM能发现的。

htop的安装和使用,我倒是真心推荐给新手。
我有个同学刚学Linux,每次用ps都得对着手册查参数,后来装了htop,直接鼠标点点,CPU、内存、磁盘IO一目了然。
虽然确实要sudo apt install一下,但这个交互式的体验,绝对值回票价。
说实话,有时候对着htop的彩色列表,比看黑白命令行输出舒服多了。

总之,这些工具用好了,真的能帮你省下大把时间。
不过说到底,每个命令都有自己的边界,ps命令虽然强大,但实时动态监控还得靠top/htop。
至于GUI工具,那些图形界面用户确实省心不少。
关键是根据自己需求,找到最顺手的那一套组合拳。