简单地说,虚拟内存就是硬盘中的一块区域,它用来存放内存里使用频率不高的页面文件。好处是为了提高内存的利用率 - 让使用频率高的页面文件活动在内存区域中,提高CPU对数据操作的速度。在Linux中,这个区域叫做swap,一般大小应设置为物理内存的2倍。
vm.swappiness是Linux内核的一个参数,范围是0~100。它表示实际内存和虚拟内存区域进行数据交换的倾向性大小,数值越大表示倾向性越大,即交换的页面文件越多,反之亦然。一般默认值为60。可用'cat /proc/sys/vm/swappiness’查看。
这个值应该设置成多大才能提高Linux的性能呢?这个当然要由具体的环境来定了。我在一台CentOS机器上,分别把值设为0,60,100,下面是运行'vmstat -S M 5’的三次数据报告。(vmstat命令是用来查看虚拟内存状况的,参数-S M表示以M为单位,5表示每5秒钟产生一次报告。)这里主要关注bi,bo和wa这三个值,bi代表每秒钟从硬盘读入数据的块数(因为硬盘是块设备),bo表示每秒钟写入硬盘数据的块数,wa表示CPU等待IO设备就绪的时间。
发现什么了吗?很明显当值为100时,wa基本为50左右的值,这表示50%的CPU时间都在等待IO设备就绪(大好的CPU资源就这样被浪费了!)现在你明白瓶颈在哪里了吧?对,就是硬盘。说明我实验的这台机器硬盘IO的处理能力是最影响性能的了。那么该怎么解决呢?当然了,换个转速更快的硬盘当然可以,还有呢?增加内存有可能也可以。增加了内存以后,再把swappiness的值设小点,以减少硬盘IO的操作。内存够大时,无论页面文件的使用频率是高还是低都放在内存里,无须使用虚拟内存。
但是在这个例子中,swpd的值始终为0,这表示没有虚拟文件被使用。这说明内存容量是足够的,即使再增加内存,作用也不大。最好的办法就是更换硬盘了。
如何改变swapiness的值?你可以运行'echo 数值 > /proc/sys/vm/swapiness’ 或者 'sysctl –w vm.swappiness = 数值' 来修改内核中的实时参数。如果想机器在重启之后仍然保持这个数值的话,就需要在'/etc/sysctl.conf’文件中加上'vm.swappiness = 数值' 这一行。
当值为0时:
来源:(http://blog.sina.com.cn/s/blog_5ce87d560100i31q.html) - [转载]Linux性能调优---虚拟内存_郭金鹏_新浪博客
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b
swpd
free
buff
cache
si
so
bi bo
in
cs us sy id
wa st
0 2
0
1277
16
6340
0
0
7
3
1
1
0
2 91
6
0
2 0
0
1277
16
6340
0
0
9
778 1203 3901
0
5 78 17
0
0 1
0
1276
16
6340
0
0
4
510 1094 3855
0
1 96
2
0
0 0
0
1276
16
6340
0
0
13
294 1113 3896
0
3 89
7
0
2 0
0
1276
16
6340
0
0
12
462 1122 3954
0
2 96
2
0
0 0
0
1276
16
6340
0
0
8
6 1027 3915
0
1 98
0
0
0 2
0
1276
16
6340
0
0
19
982 1178 3894
0
2 79 19
0
0 0
0
1276
16
6340
0
0
10
666 1195 3904
0
3 70 27
0
0 0
0
1276
16
6340
0
0
7
10 1031 3955
0
2 98
0
0
0 0
0
1276
16
6340
0
0
15
9 1031 3902
0
5 95
0
0
2 2
0
1275
16
6341
0
0
7
1420 1275 3930
0
2 67 32
0
0 0
0
1275
16
6341
0
0
6
290 1125 3939
0
1 89 10
0
0 0
0
1275
16
6341
0
0
11
18 1029 3975
0
2 98
0
0
0 0
0
1275
16
6341
0
0
26
22 1037 3984
0
1 98
1
0
0 0
0
1275
16
6341
0
0
5
18 1027 3892
0
2 97
0
0
0 0
0
1275
16
6341
0
0
6
10 1029 3878
0
1 98
0
0
0 2
0
1275
16
6341
0
0
6
1106 1191 3935
0
1 81 18
0
1 2
0
1275
16
6341
0
0
18
1121 1245 3870
0
1 61 38
0
0 0
0
1275
16
6341
0
0
14
121 1086 3924
0
2 94
4
0
0 2
0
1274
16
6341
0
0
12
1264 1245 3925
0
1 73 25
0
1 0
0
1274
16
6342
0
0
8
777 1208 3897
0
4 74 22
0
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b
swpd
free
buff
cache
si
so
bi
bo
in
cs us sy id wa st
0 0
0
1274
16
6342
0
0
8
267 1076 3870
0
5 95
0
0
0 0
0
1274
16
6342
0
0
6
391 1089 3856
0
2 98
0
0
0 0
0
1274
16
6342
0
0
10
0 1033 3893
0
1 98
0
0
2 0
0
1274
16
6342
0
0
5
0 1026 3904
0
2 98
0
0
0 2
0
1274
16
6342
0
0
5
1016 1193 3907
0
2 82 16
0
0 0
0
1274
16
6342
0
0
4
203 1092 3895
0
3 90
7
0
1 3
0
1274
16
6342
0
0
6
1198 1243 3910
0
2 75 23
0
2 0
0
1274
16
6342
0
0
4
81 1062 3974
0
1 95
3
0
1 0
0
1274
16
6342
0
0
14
13 1029 3907
0
1 98
0
0
0 2
0
1274
16
6342
0
0
11
1231 1228 3960
0
4 71 24
0
0 0
0
1274
16
6342
0
0
10
222 1102 3971
0
2 84 13
0
0 0
0
1273
16
6343
0
0
6
0 1032 3954
0
2 98
0
0
0 3
0
1273
16
6343
0
0
6
1411 1314 4007
0
3 69 28
0
0 0
0
1272
16
6343
0
0
14
386 1157 4162
0
2 91
7
0
1 0
0
1272
16
6343
0
0
14
810 1170 3921
0
1 89 10
0
2 0
0
1272
16
6343
0
0
5
566 1137 3884
0
1 92
6
0
0 0
0
1272
16
6343
0
0
10
265 1073 3938
0
2 98
0
0
0 0
0
1272
16
6343
0
0
54
802 1196 4131
0
7 83
9
0
0 0
0
1272
16
6344
0
0
7
7 1046 3939
0
2 98
0
0
0 0
0
1272
16
6344
0
0
4
943 1206 3840
0
1 86 12
0
2 0
0
1272
16
6344
0
0
9
38 1033 3891
0
1 99
0
0
r
0
2
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r
0
0
0
2
0
0
1
2
1
0
0
0
0
0
1
2
0
0
0
0
2
当值为60时:
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b
swpd
free
buff
cache
si
so
bi bo
in
cs us sy id
wa st
0 1
0
1268
17
6347
0
0
7
3
1
1
0
2 91
6
0
0 0
0
1267
17
6347
0
0
7
526 1163 3875
0
2 92
5
0
0 0
0
1267
17
6347
0
0
8
4 1025 3934
0
1 98
0
0
2 0
0
1267
17
6347
0
0
6
17 1032 3917
0
1 98
0
0
0 0
0
1267
17
6348
0
0
9
34 1036 3909
0
2 98
0
0
1 0
0
1267
17
6348
0
0
9
16 1033 3990
0
1 98
0
0
0 1
0
1267
17
6348
0
0
6
1172 1195 3936
0
3 83 14
0
0 0
0
1266
17
6348
0
0
12
958 1252 3988
0
3 64 33
0
1 0
0
1266
17
6348
0
0
32
372 1096 3875
0
1 97
2
0
0 0
0
1266
17
6348
0
0
7
4 1034 3838
0
1 98
0
0
0 0
0
1266
17
6348
0
0
13
18 1030 3925
0
2 98
0
0
0 1
0
1266
17
6348
0
0
4
1100 1200 3862
0
2 83 15
0
0 0
0
1266
17
6348
0
0
4
350 1139 3921
0
2 88 10
0
0 0
0
1266
17
6348
0
0
6
0 1028 3814
0
2 97
0
0
1 0
0
1266
17
6349
0
0
10
769 1179 3886
0
2 83 15
0
0 0
0
1266
17
6349
0
0
7
411 1100 4004
0
1 96
3
0
0 1
0
1266
17
6349
0
0
10
578 1118 3915
0
2 94
5
0
0 0
0
1266
17
6349
0
0
26
85 1077 3865
0
1 92
7
0
0 0
0
1266
17
6349
0
0
6
18 1029 3879
0
1 98
0
0
0 2
0
1265
17
6349
0
0
10
658 1116 3963
0
1 92
6
0
0 0
0
1265
17
6349
0
0
10
798 1212 3901
0
3 71 27
0
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b
swpd
free
buff
cache
si
so
bi
bo
in
cs us sy id wa st
1 0
0
1265
17
6349
0
0
10
245 1077 3900
0
1 98
1
0
0 0
0
1264
17
6350
0
0
37
13 1044 3925
0
2 97
1
0
0 0
0
1264
17
6350
0
0
6
848 1187 3892
0
2 83 15
0
0 3
0
1264
17
6350
0
0
6
577 1119 3920
0
1 93
5
0
1 0
0
1264
17
6350
0
0
4
84 1062 3890
0
1 96
2
0
0 0
0
1264
17
6350
0
0
10
18 1034 3824
0
2 97
0
0
0 0
0
1264
17
6350
0
0
6
0 1025 3931
0
1 98
0
0
0 1
0
1264
17
6350
0
0
10
621 1110 3891
0
2 94
4
0
1 0
0
1264
17
6350
0
0
8
466 1144 3855
0
2 77 21
0
0 0
0
1264
17
6350
0
0
8
8 1031 3916
0
1 98
0
0
1 0
0
1264
17
6350
0
0
8
12 1028 3914
0
1 98
0
0
1 2
0
1263
17
6351
0
0
10
929 1182 3962
0
3 85 12
0
2 1
0
1263
17
6351
0
0
10
1089 1275 3988
0
2 58 40
0
0 0
0
1263
17
6351
0
0
11
358 1142 3954
0
2 88 10
0
2 0
0
1263
17
6351
0
0
6
0 1026 3853
0
1 99
0
0
0 0
0
1263
17
6351
0
0
6
0 1029 3990
0
1 98
0
0
1 0
0
1263
17
6351
0
0
6
11 1029 3856
0
1 98
0
0
2 1
0
1263
17
6351
0
0
7
1276 1204 3885
0
3 80 18
0
1 0
0
1263
17
6351
0
0
14
514 1156 3849
0
2 77 21
0
0 1
0
1251
17
6353
0
0
393
736 1234 4059
2
2 85 11
0
r
0
0
0
2
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r
1
0
0
0
1
0
0
0
1
0
1
1
2
0
2
0
1
2
1
0
当值为100时:
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b
swpd
free
buff
cache
si
so
bi bo
in
cs us sy id
wa st
0 6
0
1202
18
6411
0
0
7
3
1
0
0
2 91
6
0
0 6
0
1201
18
6411
0
0
66
1153 1189 3604
0
3 45 53
0
1 3
0
1200
18
6412
0
0
189
930 1226 8164
1
8 49 41
0
0 6
0
1200
18
6412
0
0
44
1134 1261 3937
0
2 53 45
0
0 4
0
1200
18
6413
0
0
98
1118 1229 3868
0
2 46 52
0
2 3
0
1200
18
6413
0
0
45
1245 1251 3798
0
2 49 49
0
1 4
0
1199
18
6413
0
0
74
922 1218 3853
0
2 53 45
0
1 5
0
1198
18
6415
0
0
194
1084 1225 4919
0
4 51 44
0
0 3
0
1198
18
6415
0
0
52
930 1192 3577
0
3 51 45
0
1 0
0
1197
18
6416
0
0
147
831 1222 3995
0 13 51 36
0
1 1
0
1197
18
6416
0
0
48
3240 1256 4557
1
5 46 48
0
0 2
0
1196
18
6417
0
0
38
3730 1267 4536
0
5 53 42
0
1 2
0
1195
18
6417
0
0
42
3336 1238 4048
0
3 51 45
0
1 4
0
1195
18
6418
0
0
50
2759 1207 4237
1
5 52 42
0
0 7
0
1195
18
6418
0
0
48
2201 1229 4138
0
4 41 54
0
2 3
0
1194
19
6420
0
0
28
2360 1241 3913
0
2 53 44
0
0 4
0
1193
19
6420
0
0
63
3812 1209 4344
1
5 46 48
0
0 4
0
1193
19
6421
0
0
120
3942 1199 4452
1
5 43 52
0
0 3
0
1192
19
6421
0
0
38
2963 1231 4272
0
4 45 51
0
0 4
0
1191
19
6421
0
0
37
2784 1202 4373
1
5 49 46
0
1 4
0
1191
19
6421
0
0
24
2558 1242 3909
0
2 54 43
0
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b
swpd
free
buff
cache
si
so
bi
bo
in
cs us sy id wa st
0 5
0
1191
19
6422
0
0
36
1774 1212 4009
0
4 47 50
0
0 2
0
1191
19
6422
0
0
29
4292 1208 4479
0
4 48 47
0
0 4
0
1191
19
6422
0
0
44
3392 1204 4705
1
5 45 49
0
1 2
0
1190
19
6423
0
0
56
3950 1250 4541
1
5 55 40
0
0 2
0
1190
19
6423
0
0
67
877 1198 3515
0
2 54 44
0
1 2
0
1189
19
6423
0
0
67
928 1201 3589
0
1 57 41
0
1 3
0
1189
19
6424
0
0
69
1488 1190 3569
0
2 50 49
0
0 3
0
1189
19
6424
0
0
61
2230 1228 3828
0
2 53 44
0
1 6
0
1189
19
6424
0
0
30
2662 1275 4186
0
3 38 58
0
3 2
0
1190
19
6424
0
0
22
1932 1274 4297
0 26 32 42
0
0 4
0
1190
19
6425
0
0
56
1692 1289 4160
0 10 46 44
0
1 0
0
1188
19
6427
0
0
412
795 1216 4795
0 13 56 31
0
0 2
0
1188
19
6427
0
0
127
1854 1298 4400
0 13 52 35
0
0 5
0
1187
19
6428
0
0
34
6174 1250 4808
0 11 45 44
0
0 3
0
1187
19
6428
0
0
110
1285 1218 3507
0
1 52 46
0
0 1
0
1185
19
6430
0
0
306
938 1215 3890
0
2 59 40
0
1 3
0
1185
19
6431
0
0
52
3722 1207 4013
0
2 57 41
0
0 4
0
1185
19
6431
0
0
17
9450 1205 5760
1
9 41 50
0
1 2
0
1184
19
6431
0
0
16
7072 1188 4330
0
4 55 41
0
2 4
0
1184
19
6431
0
0
20
7046 1241 5521
1
8 48 44
0
1 3
0
1183
19
6432
0
0
46
7037 1190 4488
0
8 37 54
0
r
0
0
1
0
0
2
1
1
0
1
1
0
1
1
0
2
0
0
0
0
1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r
0
0
0
1
0
1
1
0
1
3
0
1
0
0
0
0
1
0
1
2
1
给主人留下些什么吧!~~
评论热议