linuxmem
⑴ linux内存占用过高非也
先来在阿里的ECS上top一下感受内存爆满的感觉,终端输入 top
结合操作系统,计组等课程,以及多年以来windows培养给我的直觉,认为0.96G(1016272K)的总内存,使用了0.84G(880960K)的内存,使用率高达88%。然而我还啥都没干,怎么会这样呢?
仔细查看还会发现后面有一个buffers,Swap后面还有一个Cached Mem。
现在我们用free来观察下
虽然Mem显示了0.9G左右的used,但是-/+buffers/cache(减去buffers和cache的结果)可以看到,当前进程实际占用内存是0.24G(256348K),而可用空闲(free)内存为0.72G(759924K)。
可以这么理解:在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。
如上面的例子:共1G的内存,0.9G被占用,但是buffer和cached
mem部分作为缓存,可以使用命中率的方式提高使用效率,而且这部分缓存是根据指令随时可以释放的,我们可以认为这部分内存没有实际被使用,也可以认为它是空闲的。
因此查看目前进程正在实际被使用的内存,是used-(buffers+cache),也可以认为如果swap没有大量使用,mem还是够用的,只有mem被当前进程实际占用完(没有了buffers和cache),才会使用到swap的。
再举个栗子: 这个是我在RPi一群看到的一个群友发的探针监测截图
观察内存使用状况一栏,发现物理内存功925.89M,已用911.74M,Cache化的内存是676.46M,Buffers为61.3M,现在用上述公式:
带入:
⑵ linux系统内存mem 后面有个k是什么意思
kilo的意思,就是千,你的数字单位是千
mem的话,一般都是按M,就是兆来算,k就是1024分之一的M
⑶ linux系统怎么查看内存和CPU占用情况呀
1、在电脑中进入Linux操作系统,打开Linux命令界面。
⑷ linux的内存%mem 0.4 怎么理解
*-memory
description: System Memory
physical id: 1000
slot: System board or motherboard
size: 32GiB
*-bank:0
description: DIMM DDR3 Synchronous 1333 MHz (0.8 ns)
proct: M393B2G70BH0-YH9
vendor: 00CE00B380CE
physical id: 0
serial: 85BF9B6C
slot: DIMM_A1
size: 16GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:1
description: DIMM DDR3 Synchronous 1333 MHz (0.8 ns)
proct: M393B2G70BH0-YH9
vendor: 00CE00B380CE
physical id: 1
serial: 85BF9CB1
slot: DIMM_A2
size: 16GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:2
description: DIMM DDR3 Synchronous [empty]
physical id: 2
slot: DIMM_A3
width: 64 bits
*-bank:3
description: DIMM DDR3 Synchronous [empty]
physical id: 3
slot: DIMM_A4
width: 64 bits
*-bank:4
description: DIMM DDR3 Synchronous [empty]
physical id: 4
slot: DIMM_B1
width: 64 bits
*-bank:5
description: DIMM DDR3 Synchronous [empty]
physical id: 5
slot: DIMM_B2
width: 64 bits
*-bank:6
description: DIMM DDR3 Synchronous [empty]
physical id: 6
slot: DIMM_B3
width: 64 bits
*-bank:7
description: DIMM DDR3 Synchronous [empty]
physical id: 7
slot: DIMM_B4
width: 64 bits
V
⑸ 安装linux至少需要哪两个分区作用分别是什么
一个为根分区,一个为交换分区。
1,/,根分区,一般所有文件都放在根目录下。
2,swap,虚拟内存,交换分区,一般大小为机器内存的1-2倍。
起码有如上两个分区才可以安装linux系统。建议再增加一个/boot分区,200M左右即可。
作用:
Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
Swap分区,即交换区,系统在物理内存不够时,与Swap进行交换。 其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。
根分区在Linux操作系统中,除/boot目录外的其它所有目录都对应于该分区.因此,用户可通过访问除/boot目录外的其它所有目录来访问该分区。
(5)linuxmem扩展阅读:
linux其他分区作用:
/home分区,是用户的home目录所在地
/var/log分区,是系统日志记录分区
/tmp分区,用来存放临时文件。
/bin分区,存放标准系统实用程序。
/dev分区,存放设备文件。
/opt分区,存放可选的安装的软件。
/sbin分区,存放标准系统管理文件。
/usr分区,是red hat linux系统存放软件的地方
/boot分区,它包含了操作系统的内核和在启动系统过程中所要用到的文件
⑹ linux处理器mem一一般需求多大
在512M到1G之间。
虚拟机本身也是一个软件,它运行时也是要有内存需求的。而且,大多数人的习惯,往往不会仅仅只是使用某一个软件。比如说,一边用虚拟机安装使用linux,一边在真实的物理主机上上网,逛淘宝。而且有些东西往往是开机就运行的。
⑺ Linux内核睡眠唤醒状态
Linux内核支持四种系统睡眠状态即: mem、standby、freeze and disk 。
可通过文件 /sys/power/state 进行读写访问,区别如下:
在 RockPI 4A 单板 Debian 系统 Linux 4.4 内核中,查看电源状态,仅支持 freeze和mem 两种。
原因:
1、 Platform 驱动只实现了 mem 类型的 suspend
2、只有在 hibernation 可用时,才支持 STD
1、 psci 初始化流程
suspend_set_ops() 函数赋值数组 pm_states 实现如下:
2、power state显示
/sys/power/state 文件显示的内容,通过 state_show() 函数实现,该函数最终显示数组 pm_states 的内容。
参考:
Documentation/power/states.txt
⑻ 如何正确查看Linux机器内存使用情况
做了个24小时的稳定性测试,探讨了linux的mem使用情况:
看内存最方便的命令是free
-m,如:
[root@host
~]#
free
-m
total
used
free
shared
buffers
cached
mem:
1024
1005
19
0
9
782
-/+
buffers/cache:
212
811
swap:
996
0
995
[root@host
~]#
从上看出这个linux系统一共有内存1024m,但当前linux
系统已经占用的内存有多少呢?大多数用户的答案是1005m,其实不然。
当前vps占用的内存应该是212m,也就是1005下面那个数字:212,代表已经占用的内存。后面的那个811,代表当前linux系统的可用内存。
"-/+
buffers/cache:"开头的这行才是实际的占用内存和可用内存。
所以,看内存使用情况,应该看"-/+
buffers/cache:"开头的这一行,如果这一行最后的数字接近0,那么说明linux系统的内存快用完了,这时候linux系统反应就比较慢。如果这个数字还比较大,那么linux系统还有较多内存可用,系统不应该慢。
⑼ 描述安装LINUX至少需要哪两个分区,还有哪些常用分区
一般来说我们需要一个swap分区,一个/boot分区,一个/usr分区,一个/home
分区,一个/var/log分区。当然这没有什么规定,完全是依照你个人来定的。但记住至少要有两个分区,一个swap分区,一个/分区。
分区介绍:
swap分区是linux暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为swap使用的分区不用指定“mout
point”(载入点),既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,一般来说它的大小是内存的两倍,如果你是16mb的内存,那么swap分区的大小是32mb左右,以此类推。但必须还要注意一点,swap分区不要大于128mb,因为系统不需要太大的交换分区。以此类推,如果你是128mb或更大的内存,swap分区也只能最大被定为127mb。况且你还必须注意的是如果你是128mb(或更大)的内存,你必须提醒系统你有这么大的内存,要不然它可不认你这个128mb内存。具体如下:当顺利启动了安装过程后,会显示一个boot:提示符,这时你只要键入boot:linux
mem=128mb就可以了。另外你也可以创建和使用一个以上的交换分区,最多16个。
*linux
native是存放系统文件的地方,它只能用ext2的分区类型,上面已说过。对windows用户来说,操作系统必须装在同一分区里,它是商业软件吗!所以你没有选择的余地!对red
hat
linux来说,你有了较大的选择余地,你可以把系统文件分几个区来装(必须要说明载入点),也可以就装在同一个分区中(载入点是“/”)。下面我们看看可以创建哪些分区(仅列常用几种)。
/boot分区,它包含了操作系统的内核和在启动系统过程中所要用到的文件,建这个分区是有必要的,因为目前大多数的pc机要受到bios的限制,况且如果有了一个单独的/boot启动分区,即使主要的根分区出现了问题,计算机依然能够启动。这个分区的大小约在50mb—100mb之间。
/usr分区,是red
hat
linux系统存放软件的地方,如有可能应将最大空间分给它。
/home分区,是用户的home目录所在地,这个分区的大小取决于有多少用户。如果是多用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普通用户访问哪些文件等。其实单用户也有建立这个分区的必要,因为没这个分区的话,那么你只能以根用户的身份登陆系统,这样做是危险的,因为根用户对系统有绝对的使用权,可一旦你对系统进行了误操作,麻烦也就来了。
/var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日志文件出现了问题,它们也不会影响到操作系统的主分区。
/tmp分区,用来存放临时文件。
/bin分区,存放标准系统实用程序。
/dev分区,存放设备文件。
/opt分区,存放可选的安装的软件。
/sbin分区,存放标准系统管理文件。
⑽ 怎么看linux的memory
linux下查看内存信息,使用free命令,具体操作和展示信息如下:
#free-m
Mem:15918128213097026012542
-/+buffers/cache:76768241
Swap:399983991
其中的相关说明:
Mem:表示物理内存统计
-/+ buffers/cached:表示物理内存的缓存统计
Swap:表示硬盘上交换分区的使用情况(这里我们不去关心)
系统的总物理内存:15918MB(16GB,因为显存占用部分内存),但系统当前真正可用的内存并不是第一行free标记的 3039MB,它仅代表未被分配的内存。
我们使用total1、used1、free1、used2、free2等名称来代表上面统计数据的各值,1、2 分别代表第一行和第二行的数据。
total1:表示物理内存总量。
used1:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free1:未被分配的内存。
shared1:共享内存,一般系统不会用到,这里也不讨论。
buffers1:系统分配但未被使用的buffers 数量。
cached1:系统分配但未被使用的cache 数量。buffer 与cache 的区别见后面。
used2:实际使用的buffers 与cache 总量,也是实际使用的内存总量。
free2:未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。
可以整理出如下等式:
total1 = used1 + free1
total1 = used2 + free2
used1= buffers1 + cached1 + used2
free2= buffers1 + cached1 + free1
buffer 与cache 的区别
A buffer is something that has yet to be "written" to disk.
理解为buffer是准备写入磁盘。
A cache is something that has been "read" from the disk and stored for later use.
从磁盘读出来准备给用户访问。