LINUX 占用较多内存 解释

简介: 转自 网络 Linux/Unix与windows在管理内存的方式上是不一样的。它的管理方式是充分的利用系统的内存,而windows则是无论使用多大的内存都要使用一定的虚拟内存(linux中swap)。

转自 网络

Linux/Unix与windows在管理内存的方式上是不一样的。它的管理方式是充分的利用系统的内存,而windows则是无论使用多大的内存都要使用一定的虚拟内存(linux中swap)。

  所以说即便是一个刚装上不久的linux系统,内存使用量达到90%,也很正常。但是,这个内存占用量不会达到100%的,因为当达到一个占用量的时候,就会启用swap(虚拟内存)。

   (关于为何会使用高的解释:

     a、linux把剩余的内存都用做磁盘缓存了,这样可以减少硬盘读写次数,Linux在磁盘操作上的速度是要比windows快的。这样做并不会影响系统速度。换句话说就是Linux 是先占用,然后再慢慢使用,windows是要用多少就占用多少。Linux 不会让内存空着的,程序用不了就当缓存用。

     b、桌面追求的是反应速度,服务器追求的是吞吐量,两者是有差别的,linux侧重后者。特别体现在任务调度、内存管理。从桌面的角度,尽量要保留一定的空闲内存(如果不够,先将后台进程swap出去),当用户要打开新程序的时候,可以迅速反应。桌面常用的模块预先驻留内存。而linux是著名的lazy的方式。

  Linux/Unix系统是非常稳健的,虽然内存占用显示90%以上,但依然可保证365天以上无须重启。对于Linux系统,评估其压力的主要指标是最近5分钟的负载指数。比如用top去看,可以看到“2.20,2.27,1.81”这样的数字。

  分别表示5分钟内的、10分钟内的、15分钟内排队的进程数。只要第一个数字即5分钟内的负载不大于5,系统就是健康的,不用做任何维护

  如果这个数字大于了5,那么通常系统速度就会变慢,一般有如下几种可能:

  1) 有程序占用大量CPU,使用top命令来检查(看看是否有java程序锁死之类的故障)

  2) 有程序占用大量内存,使得内存真正不够用了(这个才是真正需要加内存的时候)

  比如由于MySQL(和PHP搭配之最佳组合)在较大负载下运行容量为GB级别的数据库导致内存不够用,需要给服务器插入更多物理内存

  3)磁盘系统读写故障,IO吞吐错误造成CPU负载上升,需要光盘引导进入单用户模式扫描修复磁盘,修不好就只能更换新硬盘了

  因此,对于Linux/Unix系统内存占用的百分比,无须过于关心,一般检查系统负载参数即可。

相关文章
|
2月前
|
缓存 Linux
linux 手动释放内存
在 Linux 系统中,内存管理通常自动处理,但业务繁忙时缓存占用过多可能导致内存不足,影响性能。此时可在业务闲时手动释放内存。
126 17
|
4月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
1241 6
|
27天前
|
消息中间件 Linux
Linux中的System V通信标准--共享内存、消息队列以及信号量
希望本文能帮助您更好地理解和应用System V IPC机制,构建高效的Linux应用程序。
118 48
|
9天前
|
缓存 NoSQL Linux
Linux系统内存使用优化技巧
交换空间(Swap)的优化 禁用 Swap sudo swapoff -a 作用:这个命令会禁用系统中所有的 Swap 空间。swapoff 命令用于关闭 Swap 空间,-a 参数表示关闭 /etc/fstab 文件中配置的所有 Swap 空间。 使用场景:在高性能应用场景下,比如数据库服务器或高性能计算服务器,禁用 Swap 可以减少磁盘 I/O,提高系统性能。
28 3
|
9天前
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
23 2
|
6月前
|
安全 Linux Shell
Linux上执行内存中的脚本和程序
【9月更文挑战第3天】在 Linux 系统中,可以通过多种方式执行内存中的脚本和程序:一是使用 `eval` 命令直接执行内存中的脚本内容;二是利用管道将脚本内容传递给 `bash` 解释器执行;三是将编译好的程序复制到 `/dev/shm` 并执行。这些方法虽便捷,但也需谨慎操作以避免安全风险。
283 6
|
2月前
|
消息中间件 Linux
Linux:进程间通信(共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量)
通过上述讲解和代码示例,您可以理解和实现Linux系统中的进程间通信机制,包括共享内存、消息队列和信号量。这些机制在实际开发中非常重要,能够提高系统的并发处理能力和数据通信效率。希望本文能为您的学习和开发提供实用的指导和帮助。
163 20
|
4月前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
535 58
|
4月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
330 48
|
3月前
|
算法 Linux
深入探索Linux内核的内存管理机制
本文旨在为读者提供对Linux操作系统内核中内存管理机制的深入理解。通过探讨Linux内核如何高效地分配、回收和优化内存资源,我们揭示了这一复杂系统背后的原理及其对系统性能的影响。不同于常规的摘要,本文将直接进入主题,不包含背景信息或研究目的等标准部分,而是专注于技术细节和实际操作。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等