1、linux下如何查看服务器物理内存状况?
$ free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
第一部分Mem行:
total 内存总数: 1002M
used 已经使用的内存数: 769M
free 空闲的内存数: 232M
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 62M
cached Page 缓存内存数:421M
关系:total(1002M) = used(769M) + free(232M)
第二部分(-/+ buffers/cache):
(-buffers/cache) used内存数:286M (指的第一部分Mem行中的used - buffers - cached)
(+buffers/cache) free内存数: 715M (指的第一部分Mem行中的free + buffers + cached)
可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
第三部分是指交换分区, 我想不讲大家都明白.
我想大家看了上面,还是很晕.第一部分(Mem)与第二部分(-/+ buffers/cache)的结果中有关used和free为什么这么奇怪.
其实我们可以从二个方面来解释.
对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有232.
对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。
所以,以应用来看看,以(-/+ buffers/cache)的free和used为主.所以我们看这个就好了.另外告诉大家一些常识.Linux为了提高磁盘和内存存取效率, Linux做了很多精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路 径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
记住内存是拿来用的,不是拿来看的.不象windows, 无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分 的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常 swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.
2、如何查看linux服务器是否存在内存溢出
问题描述:抄
阿里云ECS Linux服务器,站点程序无法运行,排查发现数据库未启动。启动MySQL服务时,返回Out of memory报错信息。
分析解决:
该类问题一般是由于基础环境配置不当,或硬件配置不能满足当前服务需求导致,如MySQL配置错误,内存不足等。
针对该类问题,排查思路如下:
1. 检查是否为基础服务问题,如对MySQL的最小内存设置进行检查。如果不熟悉数据库调整,可以卸载后重新进行安装恢复默认配置。
2. 如果当前硬件配置较低,如只有512M或1G内存,则可以考虑升级内存后,验证问题是否解决。硬件配置变更升级操作方法如下:
a. 登陆阿里云控制台,点击【实例】--在要升级的服务器右侧,点击
3、怎么在linux上查看服务器的内存多大
1,Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。
其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理CPU
2,查看内存大小:
cat /proc/meminfo |grep MemTotal
3,其他一些可以查看详细linux系统信息的命令和方法:
uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令
head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
-sh # 查看指定目录的大小
4、Linux服务器要怎么查看内存?
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
等一切安装结束之后。请输入以下指令即可。
5、怎么在linux上查看服务器的内存多大
第一,的确可以那样查询内存和硬盘,或者可以使用top命令,而哪个memtotal就是总的内存大小。
那个fdisk是在root目录下才能使用的命令。先su
-
,然后按回车,然后输入密码,切换到root下再输入fdisk
-l就可以了!
6、linux 下如何查看服务器物理内存状况
Linux下看内存和CPU使用率一般都用top命令,但是实际在用的时候,用top查看出来的内存占用率都非常高,如:
Mem: 4086496k total, 4034428k used, 52068k free, 112620k buffers
Swap: 4192956k total, 799952k used, 3393004k free, 1831700k cached
接近98.7%,而实际上的应用程序占用的内存往往并没这么多,
PID
USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND
25801 sybase 15 0 2648m 806m 805m S 1.0 20.2 27:56.96
dataserver
12084 oracle 16 0 1294m 741m 719m S 0.0 18.6 0:13.50
oracle
27576 xugy 25 0 986m 210m 1040 S 1.0 5.3 28:51.24 cti
25587 yaoyang 17 0 1206m 162m 3792 S 0.0 4.1 9:21.14 java
仔细看top关于内存的显示输出,有两个数据buffers和cached,在Linux系统下的buffer指的是磁盘写缓存,而cache则指的是磁盘读缓存。
(A buffer is something that has yet to be "written" to disk.
A cache is something that has been "read" from the disk and stored for later use.)
而这两块是为了提高系统效率而分配的内存,在内存富余的时候,操作系统将空闲内存利用起来,而有内存需求时,系统会释放这部分的内存供应用程序使用。
这样,真正应用程序可用的内存就是free+buffer+cache,上面的例子就是:
52068k + 112620k + 1831700k = 1996388k
而已用内存则是used-buffer-cache,上面的例子为:
4034428k - 112620k - 1831700k = 2090108k
Linux下查看内存还有一个更方便的命令,free:
$ free
total used free shared buffers cached
Mem: 4086496 4034044 52452 0 112756 1831564
-/+ buffers/cache: 2089724 1996772
Swap: 4192956 799952 3393004
Mem:这列就是用top命令看到的内存使用情况,而-/+buffers/cache这列就是刚刚做的计算结果,used-buffer-cache/free+buffer+cache
也可以加-m或者-g参数查看按MB或者GB换算的结果。
$ free -m
total used free shared buffers cached
Mem: 3990 3906 83 0 90 1786
-/+ buffers/cache: 2029 1961
Swap: 4094 781 3312
这样,真正应用程序的内存使用量就可以得出来了,上面的例子中内存占用率为51.1%
7、在linux 下怎么查看服务器的cpu和内存的硬件信息
以Linux centos 7服务器为例,查看服务器的cpu和内存的硬件信息方法如下:
1、鼠标右键点击桌面,选择“打开终端”,如下图所示。
2、先输入命令“cat /proc/cpuinfo”,然后再按回车键就能看到服务器的CPU信息,如下图所示。
3、在输入命令“cat /proc/meminfo ”,然后按回车键,就能查看到内存的信息,如下图所示。
8、如何解决Linux服务器内存不足的方法
国内服务器的普及,以及在全球其他地区的用户量迅速增长,促成了国内用户在考虑空间时更多会考虑租用服务器。在过去的几年中,整个IT产业经历了巨大的变革和虚拟化是最显着的那些之一。
这些技术有助于增加功能和提高操作的表现力,这有望增长更加在未来几年,PS拥有着服务器的独立性和虚拟主机的便宜性的特点,所以独服也是一个热门的选择,但是很多站长为了价格上更加便宜,往往会在服务器的配置划分上更为不合理,因而很多VPS以512MB的面貌出现,然后用户购买之后发现根本不够用,今天壹基比小喻就VPS出现内存不足该如何解决,今天给大家分享一下。
1、用swap解决swap一般称作为“交换空间”,其作用相当于Windows上的“虚拟内存”。swap实际上是硬盘上的一块空间,虽然速度较慢,但是也不失为解决方案。swap内保存的数据并不能直接供CPU直接使用。CPU如果想用swap内的数据,需要先把数据从硬盘转移到内存,然后再交给CPU但是问题根源是由于物理内存不足,就不要尝试通过增加swap来解决内存不足的问题,再多的swap也是于事无补的。 总而言之swap可以解一时之急,让我们的数据拥有一个合法的缓冲区,但是升级物理内存才是我们实现系统性能提升的根本办法。
2、升级内存如果内存不足,应该及时升级内存。传统的升级方法就是购买内存更大的服务器,这是一笔不小的投资,而且经常会因为升级内存而“被升级”CPU和硬盘,这种强加条款让用户很难受。否则不光会影响到自己的系统,而且会影响到其他的。
3、使用云服务器云服务器的升级过程和独立主机或者是不同的,云服务器是无数tai独立主机构成的,所以云服务器的内存升级,只需要打开控制面板或者购买面板,直接选择你想要的内存数量,即可实现无缝升级。
9、linux系统的服务器,内存越大越好吗?
这要看你在服务器上运行什么服务了,通常来说,服务器的内存越大内越好,当然如果是32位的容Linux,最多可以管理的内存不超过4G,64位的就没有这个限制了。
但是如果你在服务器上运行的服务确定只需要512M内存就能运行很流畅,用户数量和服务规模都不会增加,那么就不用增加内存了。
10、linux数据库服务器占用内存过高,是怎么回事
修改mysql配置文件,优化缓存大小和连接数连接方式,优化sql语句 ,记得mysql好像是有工具可以查看最占用资源的sql语句,找到他,优化他。
安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。
一般的情况下,my-medium.cnf这个配制文件就能满足我们的大多需要;一般我们会把配置文件拷贝到/etc/my.cnf 只需要修改这个配置文件就可以了,使用mysqladmin variables extended-status –u root –p 可以看到目前的参数,有3个配置参数是最重要的,即key_buffer_size,query_cache_size,table_cache。
key_buffer_size只对MyISAM表起作用,
key_buffer_size指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。一般我们设为16M,实际上稍微大一点的站点 这个数字是远远不够的,通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例 key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE ‘key_read%’获得)。 或者如果你装了phpmyadmin 可以通过服务器运行状态看到,笔者推荐用phpmyadmin管理mysql,以下的状态值都是本人通过phpmyadmin获得的实例分析:
这个服务器已经运行了20天
key_buffer_size – 128M
key_read_requests – 650759289
key_reads - 79112
比例接近1:8000 健康状况非常好