请教高手内存方面知识
top - 11:06:18 up 20:51, 3 users, load average: 0.00, 0.00, 0.00
Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4051424k total, 3076104k used, 975320k free, 68316k buffers
Swap: 8385920k total, 38120k used, 8347800k free, 2816672k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP COMMAND
3557 root 15 0 10.1g 29m 19m R 0.0 0.8 0:00.04 10g mongod
这是mongodb占用的内存空间,我不理解续存占了10g,而为什么Swap还空闲这么多,到底两者之间是如何对应的呢?
按理说虚拟内存就放到Swap文件中的啊,后面显示SWAP确实是10g, 那到底这10空间放到哪了呢?谢谢
[解决办法]
帮你顶。帮我算算这个吧,谢谢。
- C/C++ code
void ConvertInitE(double initE, double finalE, char* buf){ //initE=-1.3 //MAX_VOLT=2.56 //finalE=-1.9 double volt = 0; unsigned __int16 ivolt; volt =initE * -1.0; ivolt = (unsigned __int16)((volt + MAX_VOLT) * 0xFFF / (MAX_VOLT * 2)); unsigned __int8 m_iLow8 = ivolt & 0xFF; unsigned __int8 m_iHigh4 = (ivolt & 0xf00) >> 8; //转十六进制 ValueToBinary(m_iHigh4, (char*)buf); ValueToBinary(m_iLow8, (char*)buf+1);}
[解决办法]
ram与rom的概念,一般都会有这两个的分配的。我们一般说的内存是ram,是临时存储区,你的虚拟内存建立在rom上,叫做永久存储区,电脑上就是硬盘。虚拟内存的优势是对数据的读取和存取通过直接传递,cpu的寄存器读取速度快。
[解决办法]
[解决办法]
swap是虚拟内存程序的进程名称,它占用了10G的rom。
swap是一个进程,它实现的就是虚拟内存这个功能,系统检测的时候当然会把它的大小算10G。
例如:
rom是地主,ram是也地主。一般租房子找ram,买房子找rom。现在有一个swap的商人在rom那里租了一个10G大小的商铺然后出租。当查找出租情况的时候当然会把swap算进来。
[解决办法]
top - 11:06:18 up 20:51, 3 users, load average: 0.00, 0.00, 0.00
Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4051424k total, 3076104k used, 975320k free, 68316k buffers
Swap: 8385920k total, 38120k used, 8347800k free, 2816672k cached
-----------------------
计算下 Swap = total + cached = 10G
[解决办法]
一般cached作为交换空间或缓存空间使用,这样可以增加处理速度