您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 兴安分类信息网,免费分类信息发布

怎么查看Linux系统中的内存

2023/5/22 13:11:17发布33次查看
? ? ? ?我们在做linux系统优化的时候,物理内存是非常重要的,linux也有提供很多方法来监控内存资源的使用情况,那么你知道怎么查看linux系统中的内存吗?旗胜站长目录
? ? ? ?linux中使用free可以查看系统内存使用状态, 默认单位为k
blue_stone@blueice:~$ free
total used free shared buffers cached
mem: 2075320 1879172 196148 0 533484 952588
-+ bufferscache: 393100 1682220
swap: 2008084 0 2008084
? ? ? ?mem 行显示了从系统角度看来内存使用的情况, total是系统可用的内存大小, 数量上等于系统物理内存减去内核保留的内存. buffers和cached是系统用做缓冲的内存. buffers与某个块设备关联, 包含了文件系统元数据, 并且跟踪了块的变化. cache只包含了文件本身.
? ? ? ?-+ bufferscache行则从用户角度显示内存信息, 可用内存从数量上等于mem行used列值减去buffers和cached内存的大小. 因为buffers和cached是操作系统为加快系统运行而设置的, 当用户需要时, 可以只接为用户使用.
? ? ? ?top和vmstat也显示了系统内存的信息, 和free的显示结果类似.
? ? ? ?这些命令都是从procmeminfo中读取内存信息.
blue_stone@blueice:~$ cat procmeminfo
memtotal: 2075320 kb
memfree: 25016 kb
buffers: 763564 kb
cached: 879860 kb
swapcached: 0 kb
active: 1056968 kb
inactive: 843136 kb
hightotal: 917440 kb
highfree: 13892 kb
lowtotal: 1157880 kb
lowfree: 11124 kb
swaptotal: 2008084 kb
swapfree: 2008084 kb
dirty: 4708 kb
writeback: 0 kb
mapped: 707152 kb
slab: 102728 kb
commitlimit: 3045744 kb
committed_as: 691808 kb
pagetables: 2936 kb
vmalloctotal: 114680 kb
vmallocused: 14800 kb
vmallocchunk: 98800 kb
? ? ? ?关于procmeminfo中各行的含意, 在内核源代码的documentationfilesystemsproc.txt文件中有叙述
? ? ? ?系统的真实内存大小可以用dmesg |grep [mm][ee][mm]看到
blue_stone@blueice:~$ dmesg |grep [mm][ee][mm]
895mb highmem available.
1152mb lowmem available.
highmem zone: 229360 pages, lifo batch:31
memory: 2073292k2097088k available (1493k kernel code, 21648k reserved, 546k data, 196k init, 917440k highmem)
freeing initrd memory: 1079k freed
mem window: f8000000-f80fffff
highmem bounce pool size: 64 pages
freeing unused kernel memory: 196k freed
ehci_hcd 0000:00:10.4: irq 177, io mem 0xf8121000
devvmnet: hub 0 does not exist, allocating memory.
[fglrx] maximum main memory to use for locked dma buffers: 1898 mbytes.
devvmnet: hub 3 does not exist, allocating memory.
devvmnet: hub 1 does not exist, allocating memory.
devvmnet: hub 2 does not exist, allocating memory.
? ? ? ?进程使用的内存可以用top, ps来查看top中有3个列 virt res shr, 标示了进程使用的内存情况, virt标识这个进程可以使用的内存总大小, 包括这个进程真实使用的内存, 映射过的文件, 和别的进程共享的内存等. res标识这个这个进程真实占用内存的大小. shr标识可以和别的进程共享的内存和库大小.
procpidstatus显示一个进程的详细状态, 下面是一个示例:
blue_stone@blueice:~$ cat proc5346status
name: bash
state: s (sleeping)
sleepavg: 98%
tgid: 5346
pid: 5346
ppid: 5343
tracerpid: 0
uid: 1000 1000 1000 1000
gid: 104 104 104 104
fdsize: 256
groups: 6 24 29 44 104 113 1000 1001
vmpeak: 6528 kb
vmsize: 6528 kb
vmlck: 0 kb
vmhwm: 1976 kb
vmrss: 1976 kb
vmdata: 752 kb
vmstk: 84 kb
vmexe: 644 kb
vmlib: 1788 kb
vmpte: 16 kb
threads: 1
sigq: 04294967295
sigpnd: 0000000000000000
shdpnd: 0000000000000000
sigblk: 0000000000000000
sigign: 0000000000384004
sigcgt: 000000004b813efb
capinh: 0000000000000000
capprm: 0000000000000000
capeff: 0000000000000000
vmsize即为该进程内存总大小, 和top输出中的virt一致.
? ? ? ?看完以上关于怎么查看linux系统中的内存的内容后,你是否有了一定了解呢?如果你还想了解更多的相关资讯就请关注我们技术频道吧
兴安分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录