Linux服务器要怎么查看内存?

Linux服务器要怎么查看内存?,第1张

  1 free命令

  

  命令格式:free -m

  

  用途:用于检查有关系统RAM的使用情况(查看系统的可用和已用内存)。

  

  可用内存计算公式:

  

  可用内存=free +buffers +cached, 实际操作即:215 +11+57 =253MB。

  

  2 vmstat 指令

  

  命令格式:vmstat -s(参数)

  

  用途:用于查看系统的内存存储信息,是一个报告虚拟内存统计信息的小工具,vmstat 命令报告包括:进程、内存、分页、阻塞IO、中断、磁盘、CPU。

  

  3 /proc/meminfo 指令

  

  命令格式:cat/proc/meminfo

  

  用途:用于从/proc文件系统中提取与内存相关的信息。这些文件包含有系统和内核的内部信息。

  

  SwapFree中的交换内存。

  

  PS:你还可以使用命令less /proc/meminfo 直接读取该文件。通过使用less 命令,可以在长长的输出中向上和向下滚动,找到你需要的内容哦~

  

  4 top 指令

  

  命令格式:top

  

  用途:用于打印系统中的CPU和内存使用情况。

  

  PS:如果你想让top 显示更友好的内存信息,使用命令top -o %MEM,这会使top 按进程所用内存对所有进程进行排序。

  

  5 htop 指令

  

  命令格式:htop

  

  用途:详细分析CPU和内存使用情况。

  

  PS:如果你终端没安装htop,先通过指令来安装。

  

  命令格式:sudo apt-get update

  

  接着输入以下指令

  

  命令格式:sudo apt install htop

  

  等一切安装结束之后。请输入以下指令即可。

Linux 进程通过 C 标准库中的内存分配函数 malloc 向系统申请内存,但是到真正与内核交互之间,其实还隔了一层,即内存分配管理器(memory allocator)。常见的内存分配器包括:ptmalloc(Glibc)、tcmalloc(Google)、jemalloc(FreeBSD)。MySQL 默认使用的是 glibc 的 ptmalloc 作为内存分配器。

内存分配器采用的是内存池的管理方式,处在用户程序层和内核层之间,它响应用户的分配请求,向操作系统申请内存,然后将其返回给用户程序。

为了保持高效的分配,分配器通常会预先向操作系统申请一块内存,当用户程序申请和释放内存的时候,分配器会将这些内存管理起来,并通过一些算法策略来判断是否将其返回给操作系统。这样做的最大好处就是可以避免用户程序频繁的调用系统来进行内存分配,使用户程序在内存使用上更加高效快捷。

关于 ptmalloc 的内存分配原理,个人也不是非常了解,这里就不班门弄斧了,有兴趣的同学可以去看下华庭的《glibc 内存管理 ptmalloc 源代码分析》。

关于如何选择这三种内存分配器,网上资料大多都是推荐摒弃 glibc 原生的 ptmalloc,而改用 jemalloc 或者 tcmalloc 作为默认分配器。因为 ptmalloc 的主要问题其实是内存浪费、内存碎片、以及加锁导致的性能问题,而 jemalloc 与 tcmalloc 对于内存碎片、多线程处理优化的更好。

目前 jemalloc 应用于 Firefox、FaceBook 等,并且是 MariaDB、Redis、Tengine 默认推荐的内存分配器,而 tcmalloc 则应用于 WebKit、Chrome 等。

一、查看物理内存

执行如下命令即可查看物理内存,执行效果如下图所示:

dmidecode -t memory | grep Size

二、配置空间

物理内存是没办法配置的,只能配置虚拟内存,在Linux系统即Swap分区。具体操作swap分区的方法如下:

服务器环境:

​ 腾讯云1核2G

​ 操作系统:CentOS7

最近将项目部署到服务器后发现tomcat总是过一段时间会自动关掉。

查看系统日志

发现如下内容:

原因分析:linux会定时检查系统内存大小,发现剩余内存过小时会自动优先清理占用内存较大的进程,因此tomcat进程经常会被系统清除掉

(1)创建脚本文件tomcatMonitorsh

(2)对脚本文件授权

(3)将脚本文件加入到定时任务中

添加如下内容

保存并退出

(如果出现以下内容,则输入3进入vim编辑模式再进行编辑)

具体crontab命令参考: https://wwwcnblogscom/zoulongbin/p/6187238html

(4)查看任务执行情况

输出如下内容表示定时任务正在执行

参考博客:

https://wwwcnblogscom/zoulongbin/p/6187238html

https://blogcsdnnet/zhang41228/article/details/79860030

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Linux服务器要怎么查看内存?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情