首页 > 编程知识 正文

windows查看内存命令,linux查看内存大小命令

时间:2023-05-06 18:02:34 阅读:263694 作者:4750

文章目录 内存相关概念解析dumpsys meminfoprocrankcat /proc/meminfofreevmstat

内存相关概念解析

一个进程占用了多少内存,主要有下述四种说法:

VSS(Virtual Set Size),虚拟内存。RSS + 未分配实际物理内存

单个进程可访问的全部虚拟内存地址空间,其大小包括未实际申请的物理内存。

RSS(Resident Set Size),物理内存。USS + 包含共享库

单个进程实际占用的内存大小,RSS不太准确的地方在于它包括该进程所使用共享库全部内存大小。对于一个共享库,可能被多个进程使用,实际该共享库只会被装入内存一次。

PSS(Proportional Set Size),物理内存。USS + 按比例包含共享库

PSS相对于RSS计算共享库内存大小是按比例的。N个进程共享,该库对PSS大小的贡献只有1/N。

USS(Unique Set Size),物理内存。进程独占的内存

单个进程私有的内存大小,即该进程独占的内存部分。USS表示运行一个特定进程的真实内存增量大小,如果进程终止,USS就是实际被返还给系统的内存大小。

dumpsys meminfo

查看指定进程的内存信息:dumpsys meminfo [pid]

Applications Memory Usage (in Kilobytes):Uptime: 2455033 Realtime: 2455033 Pss Private Private SwapPss Heap Heap Heap Total Dirty Clean Dirty Size Alloc Free ------ ------ ------ ------ ------ ------ ------ Native Heap 212 184 28 36524 0 0 0 Dalvik Heap 0 0 0 0 0 0 0 Stack 4 0 4 740 Other dev 9 0 0 0 .so mmap 36266 16 35460 5740 Other mmap 12 0 8 52 Unknown 64 36 28 6708 TOTAL 86331 236 35528 49764 0 0 0 App Summary Pss(KB) ------ Java Heap: 0 Native Heap: 184 Code: 35476 Stack: 0 Graphics: 0 Private Other: 104 System: 50567 TOTAL: 86331 TOTAL SWAP PSS: 49764

Android heap上的内存分为两块:native和dalvik。dalvik就是我们平常说的java堆,Java对象分配占据的内存;Native代码分配的内存,虚拟机和Android框架分配内存。

procrank

获取所有进程的内存使用的排行榜,排行是以Pss的大小而排序。procrank命令比dumpsys meminfo命令,能输出更详细的VSS/RSS/PSS/USS内存指标。

PID Vss Rss Pss Uss Swap PSwap USwap ZSwap cmdline 2572 4757048K 280016K 156987K 147300K 8916K 145K 0K 37K com.bbk.launcher2 2548 4276448K 293992K 153739K 140888K 8852K 151K 8K 39K com.android.systemui 1037 4887848K 272952K 138643K 128120K 17688K 9001K 8852K 2328K system_server 3492 1321548K 132312K 51964K 46528K 7004K 476K 0K 123K com.vivo.globalsearch ...... RAM: 7801436K total, 3109936K free, 9560K buffers, 2247508K cached, 3468K shmem, 836080K slab

USS是进程独自占用的物理内存(不包含共享库占用的内存),它是一个非常非常有用的数字, 揭示了运行一个特定进程的真实的内存增量大小。如果进程被终止, USS 就是实际被返还给系统的内存大小。
USS 是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字。怀疑某个程序有内存泄露可以查看这个值是否一直有增加。

cat /proc/meminfo

查看系统的详尽内存信息,包含内核情况

MemTotal: 7801436 kB//总内存MemFree: 3104012 kB//空闲内存MemAvailable: 5242416 kBBuffers: 9560 kB//给文件的缓冲大小Cached: 2249552 kBSwapCached: 8640 kBActive: 792860 kBInactive: 2345844 kBActive(anon): 419236 kBInactive(anon): 466352 kBActive(file): 373624 kBInactive(file): 1879492 kBUnevictable: 3260 kBMlocked: 3260 kBSwapTotal: 2097148 kBSwapFree: 1808416 kBDirty: 64 kB//等待被写回到磁盘的大小Writeback: 0 kBAnonPages: 878096 kBMapped: 851592 kBShmem: 3468 kBSlab: 836120 kBSReclaimable: 121448 kBSUnreclaim: 714672 kBKernelStack: 48836 kBPageTables: 71760 kBNFS_Unstable: 0 kBBounce: 0 kBWritebackTmp: 0 kBCommitLimit: 5997864 kBCommitted_AS: 108413340 kBVmallocTotal: 263061440 kB//虚拟内存大小VmallocUsed: 0 kBVmallocChunk: 0 kBCmaTotal: 299008 kBCmaFree: 199368 kBRSCISF: 261120 kBRSCIBF: 110560 kBNR_KMALLOC: 19840 kBNR_VMALLOC: 80372 kBNR_DMA_NOR: 0 kBNR_DMA_CMA: 95548 kBNR_ION: 161148 kBfree_ion: 10092 kBfree_ion_pool: 10092 kBfree_ion_heap: 0 kBNR_GPU: 136452 kBfree_gpu: 21896 kBo0a1r0: 120 kBo1a1r0: 21776 kBo4a0r256: 0 kBo8a0r32: 0 kBzram_size: 74708 kBpcppages: 3788 kBALL_MEM: 7778432 kB free

查看可用内存,缺省单位KB。该命令比较简单、轻量,专注于查看剩余内存情况。数据来源于/proc/meminfo。

total used free shared buffersMem: 7988670464 4812099584 3176570880 3551232 9789440-/+ buffers/cache: 4802310144 3186360320Swap: 2147479552 295645184 1851834368 vmstat

不仅可以查看内存情况,还可以查看进程运行队列、系统切换、CPU时间占比等情况,另外该指令还是周期性地动态输出。

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 3 0 1243544 400116 12276 5343880 9 19 41 53 1 465 12 12 76 0

参数列总共15个参数,分为4大类:

procs(进程) r: Running队列中进程数量b: IO wait的进程数量 memory(内存) swpd: 虚拟内存使用大小free: 空闲内存大小buff:用作buffer的内存大小cache: 用作cache的内存大小 IO: bi: Blocks received from a block device (blocks/s).bo: Blocks sent to a block device (blocks/s). system(系统) in: 每秒的中断次数(包括时钟中断)cs: 每秒上下文切换的次数 cpu(处理器) us: user timeni: nice timesy: system timeid: idle timewa: iowait timeir: interrupt time

参考:
http://gityuan.com/2016/01/02/memory-analysis-command/
https://www.cnblogs.com/arnoldlu/p/9375377.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。