服务器的可用物理内存低于100MB,为什么?如何解决
正常,别抱着省出多少idle的老观点庸人自扰,你给RAM加到二三G,SQL也给你用光对于SQL来说,内存就是拿来跑的一般只留下10%左右的idle只有爱整事的才喜欢用虚拟页面给进程跑
物理内存是指您的电脑实际所带的内存,可以通过看内存条来识别;或者右键打开“我的电脑”点属性里可以看到您的电脑的物理内存是多少;或者在您买电脑的装机配置单上可以看到
物理内存已经使用了将近40%,表示您的电脑正在运行的程序占用了您物理内存的40%空间,例如:物理内存是2G,打开XP操作系统会占用一部分物理内存,打开IE浏览器也会占用一部分内存
占用40%物理内存不用担心,因为操作系统本身就要占用一部分的物理内存来运行
虚拟内存
内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。
1一般情况
一般情况下,建议让Windows来自动分配管理虚拟内存,它能根据实际内存的使用情况,动态调整虚拟内存的大小。
2关于最小值
Windows建议页面文件的最小值应该为当前系统物理内存容量再加上12MB,而对于物理内存容量小于256MB的用户,则建议将页面文件的最小值设得更大些:
①使用128MB或者更少内存的用户,建议将当前物理内存容量的175倍设置为页面文件的最小值。
②内存大小在128MB到256MB之间的用户,建议将当前物理内存容量的15倍设置为页面文件的最小值。
3关于最大值
一般来说,页面文件的最大值设置得越大越好,建议设置为最小值的2到3倍。
4极端情况
假如硬盘空间比较紧张,在设置页面文件时,只需保证它不小于物理内存的3/4即可。
如果物理内存很大(大于512MB),则可以将虚拟内存禁用。
内存一般指实际的物理内存
虚拟内存是在你的硬盘开一个虚拟空间,当作内存使用
一般虚拟内存的大小为实际物理内存的1-2倍,主要根据你的内存需求而定,如果你经常运行那些吃内存的大型软件,如安装了数据库软件、服务器软件、运行Java方面的开发工具,那么需要的虚拟内存要大一些,这时候可以设成2倍,如果只是做日常的文字处理,那么一般1倍也可以。
你机器的物理内存256M,那么设成256、384、512都可以。如果你发现你在日常使用时,机器一直在多谢硬盘,这是执行的就是虚拟内存操作,但如果经常出现这种情况,建议还是升级物理内存
32位最大支持4G内存,不支持8G的内存的。32位的Windows操作系统通常最多只能使用3.2GB的内存,不能完整利用4GB的内存空间。需要使用8GB的内存空间,也要安装64位的操作系统。
Windows2003 server 32bit是PC服务器中使用最多的操作系统之一,由于uWindows2003 server 32bit是32位操作系统。
当服务器的物理内存高达4G时将出现系统无法识别或使用的问题,必须打开windows2003 Server内存寻址扩展功能,打开内存寻址扩展后,Windows2003 Server将最多可以支持8G内存。
扩展资料:
1、内存作为电脑中重要的配件之一,内存容量的大小确实能够直接关系到整个系统的性能。内存容量已经越来越受到消费者的关注。
2、内存带宽的计算方法并不复杂,带宽=总线宽度×总线频率×一个时钟周期内交换的数据包个数。在PCMarkVantage测试中,可以看到2GB和4GBDDR3-1600内存性能比较接近,其中2GB内存仅在启动一些办公软件时候比较落后。
3、在Win7系统下,2GB和4GB内存的性能区别不是很大,成绩非常接近。在WIN7环境下,2GB内存与4GB内存差别很小,如果想提高内存性能,光想着升级容量意义并不是很大。
服务器内存占用过高的解决方法: 1,首先通过任务管理器进行进程排序,查找占用内存较大的程序进程。一般占用内存较大的进程有W3WP、sqlserver、mysqld-ntexe; 2, 站点进程w3wp 可以在cmd命令行中通过 iisapp 命令来对应是那个中国站占用内存较大。可以通过设置回收时间、内存最大使用值或共用进程池来减少内存的占用,但是如果要保证中国站的访问质量,还是建议升级至更高型号来解决; 3,数据库 sql server 也可以通过数据库的企业管理器来设置最大内存占用,但是如果中国站程序必须要占用较大内存的话,设置后会发生页面报错、打不开等问题; 4,MYSQL本身会占用较大虚拟内存,如果不使用mysql数据库的话,可以将其停止
1、首先是对于CPU的说明
服务器CPU性能参数主要信息可以通过查看 /proc/cpuinfo 获得。具体查看指令及效果如下:
显示这台服务器上有2个物理CPU
显示这台服务器的物理核数为16个
显示运行模式为64位
显示为Intel(R) Xeon(R) Gold 6226R CPU @ 290GHz
命令:
显示此服务器的线程数为64
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态如果在前台执行该命令,它将独占前台,直到用户终止该程序为止比较准确的说,top命令提供了实时的对系统处理器的状态监视它将显示系统中CPU最“敏感”的任务列表该命令可以按CPU使用内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定
1.命令格式:
top [参数]
2.命令功能:
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
3.命令参数:
-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数
4.使用实例:
实例1:通过 Top 命令显示进程信息
命令:
统计信息区:
前五行是当前系统情况整体的统计信息区。下面我们看每一行信息的具体意义。
第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:
10:38:58 — 当前系统时间
up 39 days, 19:47 — 系统已经运行了39天19小时47分钟(在这期间系统没有重启过的吆!)
1 users — 当前有1个用户登录系统
load average: 000, 000, 000 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行,Tasks — 任务(进程),具体信息说明如下:
系统现在共有769个进程,其中处于运行中的有1个,463个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行,cpu状态信息,具体属性说明如下:
00%us — 用户空间占用CPU的百分比。
00% sy — 内核空间占用CPU的百分比。
00% ni — 改变过优先级的进程占用CPU的百分比
1000% id — 空闲CPU百分比
00% wa — IO等待占用CPU的百分比
00% hi — 硬中断(Hardware IRQ)占用CPU的百分比
00% si — 软中断(Software Interrupts)占用CPU的百分比
备注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识!
第四行,内存状态,具体信息如下:
65600012k total — 物理内存总量
1785256k used — 使用中的内存总量
62385920k free — 空闲内存总量
1428836k buffers — 缓存的内存量
第五行,swap交换分区信息,具体信息说明如下:
2097148k total — 交换区总量
918340k used — 使用的交换区总量
1178808k free — 空闲交换区总量
备注:
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
第六行,空行。
第七行以下:各进程(任务)的状态监控,项目列信息说明如下:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
或者通过 free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。
命令:
显示我当前的服务器的物理内存是62G,其中交换内存是2个G,一共剩余是60G的
三、查看Linux内核当前的系统版本号
命令:
显示的当前的服务器Linux内核是Ubuntu系统,版本号是18046
Linux服务器内存查看
方法一:使用Xshell登录Linux服务器,直接使用命令free -m命令进行查看,m参数为使用M显示,也可以free -g显示。从图上可看到
Mem:内存的使用情况总览表
total 内存总数: 1821Mused 已经使用的内存数: 924Mfree 空闲的内存数: 116Mbuff/cache 缓存内存数:780M
Swap则为交换分区使用情况
注:物理内存(totel)=系统看到的用掉的内存(used)+系统看到空闲的内存(free)
方法二:使用top命令查看,如图红色标记部分三行为内存使用情况
第一行:物理内存使用情况
第二行:swap交换分区内存使用情况
第三行:VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA SHR共享内存大小,单位kb
方法三:vmstat可实时动态监视操作系统的虚拟内存、进程、CPU活动
用法:vmstat [-V] [-n] [delay [count]]
-V表示打印出版本信息;
-n表示在周期性循环输出时,输出的头部信息仅显示一次;
delay是两次输出之间的延迟时间;
count是指按照这个时间间隔统计的次数
例如:vmstat 5 6为间隔5秒统计一次,共统计5次
END
windows服务器内存查看
win10电脑举例(win7或者其他系统类似),在电脑下方任务栏,鼠标右键点击“任务管理器”进入(或者使用键盘快捷键CTRL+ALT+delete调出任务管理器)
在任务管理器上方选择“性能”-左侧“内存”,可以在右侧的图像上查看内存的使用曲线图,以及占比情况
点击资源管理器,在内存界面,可以看到内存是由哪些应用使用,可以动态管理和监测,非常实用
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 # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
0条评论