刚开始使用mongodb的时候,不太注意mongodb的内存使用,但通过查资料发现mongodb对内存的占用是巨大的,在本地测试服务器中,8G的内存居然被占用了45%.汗呀. 本文就来剖析一下mongodb对内存的具体使用方法,以及生产环境针对mongodb占大量内存的问题的解决. 先看一个MongoDB服务器的top命令结果 shell> top -p $(pidof mongod) Mem:  32872124k total, 30065320k used,  2806804k free, …
常见工作中,计算机系统的资源主要包括CPU,内存,硬盘以及网络,过度使用这些资源将使系统陷入困境.本系列一共四篇博文,结合我在实习期间的学习,介绍一些常见的Linux系统排障工具及方法. 第1篇——内存篇 第2篇——CPU篇 第3篇——磁盘I/O篇 第4篇——网络篇 事实上,当上述服务器系统资源中的任何一个遭遇瓶颈,都会带来服务器性能的下降,典型的症状就是系统运行迟缓. 本文从以下几个角度介绍Linux系统内存相关的排查. 1. 内存的使用率如何查看,使用率真的很高吗 2. 内存用在哪里了 3.…
需求分析: 不使用Top  df  free 等命令,利用C/C++获取Linux系统CPU和内存及硬盘使用情况 实现: //通过获取/proc/stat (CPU)和/proc/meminfo(内存和硬盘)文件信息 //proc/meminfo文件结构 //MemTotal:       515164 kB //MemFree:         15024 kB //Buffers:         13740 kB //Cached:         248824 kB //SwapCach…
1.top命令top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombieCpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0…
内存是Linux内核所管理的最重要的资源之一.内存管理系统是操作系统中最为重要的部分,因为系统的物理内存总是少于系统所需要的内存数量.虚拟内存就是为了克服这个矛盾而采用的策略.系统的虚拟内存通过在各个进程之间共享内存而使系统看起来有多于实际内存的内存容量.Linux支持虚拟内存, 就是使用磁盘作为RAM的扩展,使可用内存相应地有效扩大.核心把当前不用的内存块存到硬盘,腾出内存给其他目的.当原来的内容又要使用时,再读回内存. 一.内存使用情况监测 (1)实时监控内存使用情况 在命令行使用“Free…
有许多办法可以获得Linux系统上所安装内存的信息,并查看其中有多少内存正在使用中.有的命令会展示大量的细节,而有的命令则提供了简洁(但不一定容易理解)的结果.在这篇文章中将介绍一些更有用的工具,帮助你检查内存及其使用情况. 不过,在进一步讨论之前,我们要先回顾一些基本知识.物理内存和虚拟内存是不一样的,后者包括配置为交换区的磁盘空间.交换区可能包括为此用途预留的分区,或者那些为添加到新的交换区而创建的文件——当创建一个新的分区并不实际时.有些Linux命令提供了这两方面的信息. 交换区通过提供…
系统TCP连接内存大小限制 TCP的每一个连接请求,读写都需要占用系统内存资源,可根据系统配置,对TCP连接数,内存大小,限制调优. 查看系统内存资源 记录内存 详情:cat /proc/meminfo 命令:free -m TCP连接内存限制 内核调优 修改文件:/etc/sysctl.conf 生效命令:sysctl -p /etc/sysctl.conf 1.限制TCP总连接内存使用 # 内核分给TCP的内存大小范围,单位为page. # 第一个数字表示,当 tcp 使用的 page 少于…
cat /proc/cpuinfo查看linux系统的CPU型号.类型以及大小,如下图所示.   通过greap命令根据Physical Processor ID筛选出多核CPU的信息.   cat /proc/meminfo查看linux系统内存大小的详细信息,可以查看总内存,剩余内存.可使用内存等信息.   df -h查看linux系统各分区的使用情况,要明确linux系统和windows系统分区的不同.   free -m 查看linux系统内存使用量和交换区使用量,如图所示.…
1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或是在交谈式指令列( interactive command)按s q :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行 c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( d…
共享内存概念 共享内存是通信效率最高的IPC方式,因为进程可以直接读写内存,而无需进行数据的拷备.但是它没有自带同步机制,需要配合信号量等方式来进行同步. 共享内存被创建以后,同一块物理内存被映射到了多个进程地址空间,当有一个进程修改了共享内存的数据,其余的进程均可看见所修改的内容,反之亦然. mmap函数 函数原型: void *mmap(void *adrr, size_t length, int prot, int flags, int fd, off_t offset); 返回值: 成功…