【转】Linux下判断内存使用的一些方法和说明 - zhengdl126 - ITeye博客


本站和网页 https://www.iteye.com/blog/zhengdl126-1395480 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

【转】Linux下判断内存使用的一些方法和说明 - zhengdl126 - ITeye博客
首页
资讯
精华
论坛
问答
博客
专栏
群组
下载
资源
搜索
您还未登录!
登录
zhengdl126
浏览:
2449065 次
性别:
来自:
深圳
最近访客
更多访客>>
u012363178
xjf112233445566
seavers
liufeng19820921
博主相关
博客
微博
相册
收藏
留言
关于我
文章分类
全部博客 (676)
linux运维 (157)
php (65)
mysql (78)
nginx (27)
apche (18)
framework (6)
windows (9)
IDE工具 (23)
struts2 (7)
java (13)
移动互联网 (14)
memcache redis (23)
shell基础/命令/语法 (37)
shell (50)
puppet (4)
C (11)
python (9)
产品经理 (27)
Sphinx (4)
svn (12)
设计构建 (12)
项目管理 (44)
SEO (1)
网站架构 (26)
审时度势 (42)
网络 (14)
激发事业[书&视频] (81)
其它 (12)
摄影 (8)
android (21)
社区版块
我的资讯 (
0)
我的论坛 (
14)
我的问答 (
0)
存档分类
2015-05
1)
2015-04
4)
2015-03
7)
更多存档...
最新评论
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理
iijjll:
写得非常好 
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
zhengdl126
【转】Linux下判断内存使用的一些方法和说明
博客分类: mysqllinux运维
阅读更多
-------------------------------占用内存的测量
  测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息,实际上top等工具也通过这里来获取相应的信息。
  /proc/meminfo 机器的内存使用信息
  /proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址。
  /proc/pid/statm 进程所占用的内存
  [root@localhost ~]# cat /proc/self/statm
  654 57 44 0 0 334 0
  输出解释
  CPU 以及CPU0。。。的每行的每个参数意思(以第一行为例)为:
  参数 解释 /proc//status
  Size (pages) 任务虚拟地址空间的大小 VmSize/4
  Resident(pages) 应用程序正在使用的物理内存的大小
VmRSS/4
  Shared(pages) 共享页数 0
  Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4
  Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4
  Drs(pages) 程序数据段和用户态的栈的大小 (VmData+ VmStk )4
  dt(pages) 04
  查看机器可用内存
  /proc/28248/>free
  total used free shared buffers cached
  Mem: 1023788 926400 97388 0 134668 503688
  -/+ buffers/cache: 288044 735744
  Swap: 1959920 89608 1870312
  我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。
  所以 空闲内存=free+buffers+cached=total-used
第一部分:查看内存使用状况
Linux
下使用Top
[root@itc-test9 ~]# top
top - 17:08:01 up 12
days, 3:48, 2 users, load average: 0.01, 0.01, 0.00
Tasks: 95
total,   1 running, 94 sleeping,   0 stopped,   0
zombie
Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 99.5% id, 0.5% wa, 0.0% hi, 0.0%
siMem:   2056000k total, 1963652k
used,    92348k free
,    59156k
buffers
Swap: 4096564k total,      164k used,
4096400k free, 1605276k cached
PID USER      PR NI VIRT
RES SHR S %CPU %MEM    TIME+ COMMAND
root      16   0 4744 552 460 S 0.0
0.0   0:00.46 init
从Top 显示来看是有1963652K
已经使用,只有92348k
内存空闲。一直问我是否内存不足了。下面就来解释一下Oracle 在Linux
下如何查看OS 内存是否不足。
但我们从Linux command free 来看:
[oracle@itc-test9
~]free
total      
used       free    
shared    buffers    
cached
Mem:       2056000   
1869596    
186404         
0      59172    1512236
-/+
buffers/cache:     298188   
1757812
Swap:     
4096564        164   
4096400
-/+ buffers/cache:    
used=298188k =291.2M
                       
free=1757812k=1716.6M   约等于2G。
从Free 命令行来看OS 还有1.76G 空间未使用
需要解释一下Free 和Top 在Linux 下的不同显示问题。
Free命令显示在操作系统中使用和空闲的内存数量。
Top 显示是和Linux
对内存使用的方式关系紧密,linux 尽可能的要求使用物理内存来提高Buffer 和Cache 对Disk 的I/O操作。Linux
将尽可能多的将I/O 操作磁盘上的信息保存在内存当中,如果Oracle(其他程序也一样)需要更多的内存空间,Linux 才会将一些内存使用LRU
算法清理出来,如果不需要则继续保持这些数据信息在内存中。
所以我们使用Top看到的Memory FreeMem:   2056000k total, 1963652k
used,    92348k free
很少。
第二部分:查看Swap 的状况:
Swap
空间的使用状况也能分辨出Oracle 服务器内存是否已经吃紧
先看Swap 大小设定:
RAM Size    Swap
Size
1-2G         1.5 倍
RAM
2-8G         1 倍
RAM
>8G          0.75
RAM
基本上每个操做系统(除Windows)都建议Swap
使用上面比例的配置。
但根据个人经验如果Server 的Memory >32G 时,一般都会将Swap
空间设置在10g
以内,甚至更小。
使用Command more /proc/meminfo 或top 来Monitor Swap
的使用状况。
[root@itc-test9 ~]# more
/proc/meminfo
MemTotal:      2056000
kB
MemFree:        177268
kB
Buffers:         59292
kB
Cached:        1519188
kB
SwapCached:          4
kB
Active:        1092248
kB
Inactive:       654096
kB
HighTotal:           0
kB
HighFree:           
0 kB
LowTotal:      2056000
kB
LowFree:        177268
kB
SwapTotal:     4096564
kB
SwapFree:      4096400
kB
[root@itc-test9 ~]# top
top - 17:08:01 up 12
days, 3:48, 2 users, load average: 0.01, 0.01, 0.00
Tasks: 95
total,   1 running, 94 sleeping,   0 stopped,   0
zombie
Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 99.5% id, 0.5% wa, 0.0% hi, 0.0%
siMem:   2056000k total, 1963652k
used,    92348k free
,    59156k
buffers
Swap: 4096564k total,      164k used,
4096400k free, 1605276k cached
如果你观察Swap 中的使用量一直在增加,或Swap used
为一个很大的值。那我们基本就能确定在现有的状况下Oracle server 内存出现问题
。(我们需要考虑此现象是偶尔发生还是一直出现)
我们需要做:
   增加内存
   减少OS 程序使用内存资源,如Oracle 减少SGA_target
或Memory_Target(11g)
   增大交换空间
你可以通过vmstat
来看当前Swap 活动的状态。
Swap 下面的Si 和So 分别显示Swap 页面交换进来和交换出去。
[root@itc-test9 ~]# vmstat 3 8
procs
-----------memory---------- ---swap-- -----io---- --system-- ----cpu----
b   swpd   free   buff cache  
si   so    bi    bo  
in    cs us sy id wa
0 0    164 175468 59292
1520344    0    0    
1    21    4    20 0 0 99 0
0    164 175532 59292 1520344   
0    0     0    48
1038    41 0 0 100 0
0 0    164 175532 59292
1520344    0    0    
0    61 1032    35 0 0 99 0
0    164 175532 59292 1520344   
0    0     0    11
1028    39 0 0 100 0
0 0    164 175532 59292
1520344    0    0    
0    15 1024    39 0 0 100 0
使用Vmstat 命令只能看当前的Swap 页面的交换入和交换出。那如何看历史Swap
信息
呢。
Linux 下有一个命令可以看,那就是
[root@itc-test9 sa]# cd
/var/log/sa
[root@itc-test9 sa]# ls -al |grep 13
drwxr-xr-x   2
root root   4096 Apr 13 00:00 .
-rw-r--r--   1 root root
209328 Apr 13 17:50 sa13
[root@itc-test9 sa]# date   
----今天是4/13 号
Mon Apr 13 17:58:02 CST
2009
[root@itc-test9 sa]# ll |grep 13
-rw-r--r-- 1 root root 209328
Apr 13 17:50 sa13
[root@itc-test9 sa]# sar -W -f sa13
Linux
2.6.9-5.ELsmp (itc-test9)        
04/13/2009
12:00:01 AM pswpin/s pswpout/s
12:10:01
AM      0.00     
0.00
12:20:01 AM     
0.00      0.00
12:30:01
AM      0.00     
0.00
12:40:01 AM     
0.00      0.00
12:50:01
AM      0.00     
0.00
01:00:01 AM     
0.00      0.00
01:10:01
AM      0.00     
0.00
01:20:01 AM     
0.00      0.00......(中间略去)
...... (中间略去)
03:50:01 PM     
0.00      0.00
04:00:01
PM      0.00     
0.00
04:10:01 PM     
0.00      0.00
04:20:01
PM      0.00     
0.00
04:30:01 PM     
0.00      0.00
04:40:01
PM      0.00     
0.00
04:50:01 PM     
0.00      0.00
05:00:01
PM      0.00     
0.00
05:10:01 PM     
0.00      0.00
05:20:01
PM      0.00     
0.00
05:30:01 PM     
0.00      0.00
05:40:01
PM      0.00     
0.00
05:50:01 PM     
0.00     
0.00
Average:        
0.00      0.00
显示从今天0点到当前的所有Swap 页面交换的数量
//////////////
Linux
的内存管理,实际上跟Windows的内存管理有很相像的地方,都是用虚拟内存这个概念。但是为什么Windows在很多还有很大物理内存的时候,却还是用到了Pagefile,所以才经常要跟一帮人吵着说Pagefile的大小,以及如何分配这个问题,在Linux中大家就不用再吵什么SWAP大小的问
题,SWAP设个512M已经足够一般性的使用,如果还嫌小的话,可以考虑加块内存,要不就检查你的应用,是不是真的出现了memory
leak。
在Linux下查看内存我们一般用command free
[root@nonamelinux ~]# free
total used free shared buffers cached
Mem: 386024 377116 8908 0 21280 155468
-/+ buffers/cache: 200368 185656
Swap: 393552 0 393552
下面是对这些数值的解释:
第二行(mem):
total:总计物 理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解释了。
区别:
第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。
这两个的区别在于使用的角度来看,第二行是从OS的角度来看,因为对于OS, buffers/cached
都是属于被使用,所以他的可用内存是8908KB,已用内存是377116KB,其中包括,内核(OS)使用+Application(X,
oracle,etc)使用的+buffers+cached.
第三行所指的是从应用程序角度来看,对于应用程序来 说,buffers/cached
是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需再用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached.
如 上例:
185656=8908+21280+155468
空闲内存=free+buffers+cached=total-used
接下来解释什么时候内存会被 交换,以及按什么方式交换。
当可用内存少于额定值的时候,就会开始进行交换.
如何看额 定值(RHEL4.0):
#cat /proc/meminfo
交换将通过三个途径来 减少系统中使用的物理页面的个数:
1.减少缓冲与页面cache的大小,
2.将系统V 类型的内存页面交换出去, 
3.换出或者丢弃页面。(Application 占用的内存页,也就是物理内存不足)。
事实上,少量地使用swap是不是影响到系统性能的。
下面是buffers与cached的区别。
buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.
cached是用来给文件做缓冲。【在测试中发现更换了新的mysql error log文件,发现
cached值从
692576
变为
1218328
<!-- [if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>ZH-CN</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="&#45;-"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!-- [if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!-- [if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
</style>
<![endif]-->,原有的log文件有500M】
那就是说:buffers是用来存储, 目录里面有什么内容,权限等等。
而cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效
你可以试一下,先后执行两次命令#man X
,你就可以明显的感觉到第二次的开打的速度快很多。
实验:在一台没有什么应用的机器 上做会看得比较明显。记得实验只能做一次,如果想多做请换一个文件名。
#free
#man X
#free
#man X
#free
你可以先后比较一下free后显示buffers的大小。
另一个实验:
#free
#ls /dev
#free
你比较一下两个的大小,当然这个buffers随时都在增加,但你使用过ls的话,增加的速度会变得快,这个就是 buffers/chached的区别。
>>> Linux操作系统下的内存管理方法详解
什么是虚拟内存?
  Linux支持虚拟内存,
就是使用磁盘作为RAM的扩展,使可用内存相应地有效扩大。核心把当前不用的内存块存到硬盘,腾出内存给其他目的。当原来的内容又要使用时,再读回内存。
这对用户全透明:运行于Linux的程序只看到大量的可用内存而不甘心哪部分在磁盘上。当然,读写硬盘比真的内存慢(慢千倍),所以程序运行较慢。用做虚
拟内存的这部分硬盘叫
对换空间。
  Linux可以使用文件系统中的普通文件或单独的分区作为对换空间。对换分区更快,但对换文件更易于改变大小(无须对硬盘重分区)。如果知道要多少对换空间,应该用对换分区;如果不能确认,可以先用对换文件,用一段时间后再根据所需空间建立对换分区。
  Linux允许同时使用多个对换分区和/或对换文件。即如果偶尔需要更多的对换空间,可以随时建立一个额外的对换文件。
  产生对换空间
  对换文件是普通文件,对核心没有什么特别的。唯一不同是它没有孔,用
mkswap 准备。必须在本地盘上,不能在通过NFS
mount的文件系统中。
  关于孔,是重要的。对换文件保留了磁盘空间,使核心能快速对换出一页,而不必经过如文件的定位磁盘扇区的全部事情。核心只用分配给这个文件的所有扇区。由于文件中的孔意味着没有为文件中这个位置分配磁盘扇区,这对核心使用不利。
  产生没有孔的对换文件的一个好办法是通过如下命令:
dd if=/dev/zero of=/extra-swap bs=1024 count=1024 1024+0 records in 1024+0
records out $
  /extra-swap 是对换文件名,大小由count=给出.
大小最好是4的倍数,因为核心写出的内存页是4KB。如果不是4的倍数,最后那几KB将不可用。
  对换分区也没什么特别。就象产生其他分区一样产生;唯一的不同是它作为原始分区使用,即没有任何文件系统,最好将对换分区标记为类型82(Linux
swap),虽然这对核心没有影响,但这使分区列表更清晰。
  产生对换文件或对换分区后,需要写个标记起用它,这包括核心要用的一些管理信息。命令是
mkswap , 用法如下:
  $ mkswap /extra-swap 1024 Setting up swapspace, size =
1044480 bytes $
  注意对换空间现在还没用,它存在,但核心还没用它提供虚拟内存。
  请一定小心使用mkswap ,
因为它不检查文件或分区是否被其他东西使用。 你可能用mkswap 很容易地覆盖了重要文件和分区! 幸好,你只需在你安装系统时使用mkswap
  Linux内存管理限制了每个对换空间约为127MB(由于技术原因,实际限制是127.6875MB)。可以同时使用最多16个对换空间,总计差不多2GB。
  使用对换空间
  用swapon
将一个初始化的对换空间可用。此命令告诉核心对换空间可以用了,对换空间的路径作为参数,启动一个临时对换文件可以用如下命令:
  $ swapon
/extra-swap $
  对换空间如果列入/etc/fstab ,就可自动使用。
  /dev/hda8 none swap
sw 0 0 /swapfile none swap sw 0 0
  启动手稿运行命令swapon -a, 它将启动/etc/fstab
中所列的所有对换空间。因此swapon 命令只有在启动额外的对换空间时才使用。 可以用free
监视对换空间的使用,它将给出所有使用的对换空间。
  $ free total used free shared buffers Mem:
15152 14896 256 12404 2528 -/+ buffers: 12368 2784 Swap: 32452 6684 25768
  前一行输出(Mem:)显示物理内存。
Total列不显示核心使用的物理内存(通常大约1MB)。Used列显示被使用的内存总额(第二行不计缓冲)。
Free列显示全部没使用的内存。Shared列显示多个进程共享的内存总额。Buffers列显示磁盘缓存的当前大小。后一行(Swap:)对对换空间,显示的信息类似上面。如果这行为全0,那么没使用对换空间。
  通过top
,或使用proc文件系统的/proc/meminfo 文件可以得到相同的信息。得到某个对换空间的使用信息目前还比较困难。
  可用swapoff
取消对换空间,一般不必这样,除非是临时对换空间。对换空间中的要用的页被换入(swap->RAM),如果没有足够的物理内存,就被换出
(RAM->swap,到其他对换空间)。如果没有足够的虚拟内存放进所有页面,Linux将开始震荡(thrash);
很长时间以后应该能恢复,但此时系统不可用。取消一个对换空间前,应该检查(例如用free )是否有足够的物理内存。
  用swapon
-a自动使用的所有对换空间可以用swapoff -a取消。它查看文件/etc/fstab
得知要取消什么。任何手工起用的对换空间将依然使用着。
  即使有许多空闲的物理内存,有时许多对换空间也被使用着。这种情况是由于在某个时间需要对换,但后来一个占用大量物理内存的大进程终止并释放了内存。直到被换出的数据要被使用之前它们并不自动换入。不必顾虑这种情况,但知道为什么会发生这种情况会更安心。
  与其他操作系统共享对换空间
  许多操作系统内置虚拟内存。由于他们只需在运行时使用,即,不会同时,那么除了当前运行的,其他所有对换空间都浪费着。如果他们共享同一个对换空间将更有效。这是可能的但需要一些Hacking工作。
Tips-HOWTO包含了一些如何完成这项任务的忠告。
  分配对换空间
  也许有人告诉你,应该分配2倍于物理内存的对换空间,但这是个虚假的规律。下面说明如何正确:
  估计你的全部内存需求。这是你可能需要的最大量,即你要同时运行的所有程序所需的内存要求的总和。你可以同时运行你可能同时运行的所有程序试试。
  例如,如果你想运行X,你得分配8MB给他,gcc要求数MB(有些文件偶尔可能需要很大量,数十MB,但一般4MB差不多),等等。核心自己使用
1MB,Shell和一些小工具可能需要几百KB(或说,总共1MB)。不必太精确,粗略估计就行,但可以较悲观地考虑。
  记得如果将有多人同时使用系统,他们将都消耗内存。如果2个人同时运行相同的程序,总内存消耗一般并非加倍,因为代码页和共享库是单一的。
  free
和ps
命令对估计内存需求很有用。
  第一步的估计加上一些安全量。因为对程序大小的估计很可能是错误的,因为你可能忘了一些要运行的程序,并确定你有一些额外空间。应该有数MB。(分配太多对换空间比分配太少好,但不必过分,因为不使用的对换空间是浪费;见后文:关于增加对换空间。)
Also,since it is nicer to deal with even numbers, you can round the value up to
the next full megabyte.
  基于以上计算,你知道了你总共需要多少内存。减去你的实际物理内存,就是对换空间。
(有些版本的UNIX中,你还需要分配物理内存的映象空间,所以第二布中计算的你所需的空间就不能减)
  如果你计算的对换空间比你的实际物理内存大得多(大于好几倍以上),那么你也许需要更多的物理内存,否则系统性能将太低。
  即使计算显示你无须对换空间,最好还是至少有一些。Linux有些侵略性地使用对换空间,这样保持一定的空闲物理内存。即使内存还不为什么程序所
需,Linux也会换出一些不用的内存页,这样在需要的时候就可以避免因对换的等待--即对换可以在硬盘空闲的时候提早完成。
  对换空间可以分在几个硬盘中,这有时可以提高性能,依赖于这些盘的相对速度和存取模式。你可以尝试几中方案,但要知道正确地尝试是很困难的。不要相信某种方案比其他方案好的断定,因为它不会总是对的。
  高速缓存
  与存取(真正的)内存相比,从磁盘读是很慢的另外,在相对短的一端时间里,多次读硬盘相同的部分是很常见的。例如,你可能先读了一封电子邮件,然后回复时又将它读入编辑器,然后复制它到一个文件夹时又用邮件程序读它。或者,考虑命令ls
可能被系统上的很多用户多么频繁地使用。只从磁盘读一次信息,并保持在硬盘中,知道不再需要,除了第一次读,其他都会较快。这就叫磁盘缓存disk
buffering,用于此目的的内存叫buffer cache。
  不幸的是,由于内存是有限且缺乏的资源,buffer
cache一般不会足够大(大到能够装下所有人可能用到的数据)。当cache满时,最长时间不用的数据将被丢弃,内存释放给最新的数据。
  磁盘缓冲也用于写操作。要写的数据经常马上又被读(例如一个源代码文件保存到文件中后又被编译器读出),所以将要写的数据放在缓冲里是个好主意。另
外,只将数据放如cache而不马上写到磁盘,写操作的程序执行速度更快。写操作然后可以在后台完成,而不降低其他程序的速度。
  许多操作系统有buffer
caches (即使名称不同),但并非都根据上述原理。有些是透写write-through: 数据马上写到磁盘(当然也同时写到cache)
不马上写的cache叫回写write-back。回写比透写更有效,但也更容易出错:如果系统崩溃,或电源突然掉电,或软盘在cache回写前被取出,那么cache中改变的数据将丢失。这可能意味着文件系统is
not in full working order,
可能由于未写数据包含了系统记录信息的重要的变化。
  因此,千万不要不经过正常的关闭过程直接关闭电源(见6章),
或没有unmount就取出软盘(如果是mount的),或什么程序还在用着软盘,或软盘灯还在闪。 sync
命令刷新缓冲,即强制将所有未写数据写回磁盘,如果要确保所有数据安全回写,可以用它。传统的UNIX系统中,有个update 程序在后台运行,它每30秒运行一次
sync ,所以通常无须使用sync 。 Linux有一个另外的守侯程序bdflush ,它克服了sync
有时因磁盘I/O负荷太重(因为频繁的操作)而导致有时系统突然呆住的问题。
  Linux下,bdflush 由update
启动。一般无须考虑它,但如果bdflush 偶尔因为什么原因死了,核心会给出警告,此时应该手工启动它(/sbin/update
)。
  cache并不真正缓冲文件,而是块,就是磁盘I/O的最小单元(Linux下,一般是1kB)。这样,所有的目录、超级块、其他文件系统记录数据和无文件系统磁盘都可以被缓冲。
  cache的效果决定于其大小。太小的cache几乎无用;它只能cache很少的数据,而可能在被重用前就被清除了。大小有赖于有多少数据被读写,相同的数据的存取频度。唯一的方法是实验。
  如果cache是固定大小,那么不应该太大,否则,会由于空闲内存空间太小而使用swap(也很慢)。为了最有效地使用真实内存,Linux自动使用所有空闲内存作为buffer
cache,当程序需要更多内存时,自动减少cache。
  Linux下,对cache使用无须做任何工作,它完全是自动的。除了要正常关闭系统和取出软盘,无须关心cache。
分享到:
清除内存
【汇总】数据库设计
2012-02-06 15:36
浏览 2907
评论(0)
分类:数据库
查看更多
评论
发表评论
您还没有登录,请您登录后再发表评论
相关推荐
入门学习Linux常用必会60个命令实例详解doc/txt
本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。 immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。 ----------------------------------------------------...
几个linux服务器性能测试工具,服务器压力测试
通过网上收集和对LINUX服务器性能的分析和体验,整理了几个比较实用,功能比较强大的性能测试工具供亲们下载,虽然网络上都对每个工具做了详细的功能介绍和文档说明,但分得很散,所以, 在此本人将各个比较实用的...
Linux-0.11 [内核源代码带中文注释]
从linux 内核0.95 版后已经使用与现在相同的命名方法了。 entry start ! 告知连接程序,程序从start 标号开始执行。 start: ! 47--56 行作用是将自身(bootsect)从目前段位置0x07c0(31k) ! 移动到0x9000(576k)处,...
pub类库
在空闲时间,看看两年前的那些零散类文件,开始整理这些类成库,并写了简单的使用和测试范例,放在网上和朋友们共享。 由于早期的平台从windows98和VC6.0,redhat8.0,经历了些变迁,没有太多的时间再一一仔细测试...
构筑Linux防火墙之IPtables的概念与用法
一般情况下没有必要指定使用的表,因为iptables 默认使用filter表来执行所有的命令。也没有必要非得在这里指定表名,实际上几乎可在规则的任何地方指定表名。当然,把表名放在开始处已经是约定俗成的标准。尽管命令...
Java面试宝典2010版
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 71、说出一些常用的类,包,接口,请各举5个 72、java中有几种...
Super-EC破解版
' 增加"易语言类"中"是否易程序",判断指定的EC模块或E源代码文件是否有效的易语言程序,若有效的易程序取易程序信息或转换易程序类型等失败则说明密码错误! ' 增加"易语言类"中"转换易程序类型",转换指定的EC模块或E...
windows实用dos命令大全
1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。  2.类型:外部命令  3.格式:CHKDSK [盘符:][路径][文件名][/F][/V]  4.使用说明:  (1)选用[文件名]参数,则显示该文件占用磁盘的...
grub4dos-V0.4.6a-2017-02-04更新
执行时可以不用输入扩展名,比如输入test如果当前路径下有一个test.g4b就会自动使用。 2013-10-17 1.修改代码支持新版HOTKEY。 2013-07-10 1.insmod现在支持长文件名(以前最多11个字符,现在没有限制). 2....
易语言程序免安装版下载
 使用说明如下:函数声明和调用方法与DLL命令一致;“库文件名”以.lib或.obj为后缀的将被视为静态库,可使用绝对路径或相对路径(相对当前源代码所在目录),如依赖多个静态库请分别列出并以逗号分隔;“在库中的...
最新Java面试宝典pdf版
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!48 71、说出一些常用的类,包,接口,请各举5个49 72、java中有...
C语言源代码格式化 完工 小文版本 V1.10 20120831 0955.zip
说明: 除非特别声明,所有程序均使用VC++6.0 MFC编写。 所有程序均为练手用,放弃一切权利,同时不承担任何责任。 显式遵照 GPL v3.0标准。 QuoteCorrection 20110722 1119.7z 处理 清风徐来 水波不兴 邮件...
Java面试笔试资料大全
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!48 71、说出一些常用的类,包,接口,请各举5个49 72、java中有...
Java面试宝典-经典
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!48 71、说出一些常用的类,包,接口,请各举5个49 72、java中有...
JAVA面试宝典2010
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!48 71、说出一些常用的类,包,接口,请各举5个49 72、java中有...
java开源包4
使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...
java面试题大全(2012版)
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...
Java面试宝典2012版
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中...
java面试宝典2012
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 52 71、说出一些常用的类,包,接口,请各举5个 54 72、java中有...
设置sudo为不需要密码
2015-04-17 09:04
10316
有时候我们只需要执 ...
mysql表修复
2015-04-07 10:16
10139
1.1命令myisamchk(必须停掉mysql服务,或者所操 ...
haproxy 安装配置和负载实例
2015-03-27 11:49
11388
一、环境说明实验环境 OS CentOS5.4 192.1 ...
/dev/mapper/VolGroup00-LogVol00 100% 如何处理
2015-03-03 10:51
7878
服务器磁盘跑满了, 命令查看 如下
[root@lo ...
Table_locks_immediate
2014-08-25 15:46
2804
Table_locks_immediate表示立即释放表锁数 ...
Tsar开源:淘宝内部大量使用的系统监控工具
2014-08-07 09:51
830
Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告 ...
mysql分区
2014-02-21 10:38
1722
mysql自5.1开始支持分区 ...
InnoDB 引擎独立表空间 innodb_file_per_table
2013-02-25 11:14
1179
http://deeplyloving.iteye.com ...
Linux运维常用命令 (转载)
2013-01-31 10:23
2381
1  删除0字节文件find-type f - ...
linux恢复 rm -rf 删除的文件:extundelete
2013-01-24 15:47
8751
http://blog.csdn.net/pang6013 ...
网站排障分析常用的命令
2013-01-21 18:17
1250
------------------------------- ...
mysql监测工具tuning-primer.sh
2013-01-21 17:57
2531
【转】http://www.dbasky.net ...
mysql主从日志的定期清理
2013-01-21 16:24
1024
[转]http://wangwei007.blog.51 ...
迁移vmware服务器后Device eth0 does not seem to be present
2013-01-21 10:58
2095
用VMware 安装 linux 6.0 ...
[转]Mysql报错:Result consisted of more than one row
2013-01-09 16:25
15599
Error Code : 1172
Result consi ...
根据bin log 分析管理员被莫名删除问题
2013-01-04 17:04
1001
============== 根据bin log 分析管理 ...
mysql中select * for update锁表的问题
2013-01-04 14:07
2328
先前介绍过SELECT ... FOR
UPDATE的用法 ...
LoadRunner如何监控Linux系统资源 : rpc.rstatd
2012-12-17 14:49
10078
一 简述:LoadRunner监控Linux资源时弹出如下错误 ...
PDO报错:Cannot execute queries while other unbuffered queries are active.
2012-12-12 17:57
11405
用 PDOStatement->execute() 执行 ...
MySQL死锁导致无法查询
2012-12-11 14:51
2397
客服反馈后台无法查询,原因大概知道,是因为MySQL的事务 ...
Global site tag (gtag.js) - Google Analytics