校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Redis swap空間(虛擬內存)的使用詳解

Redis swap空間(虛擬內存)的使用詳解

熱門標簽:魔獸2青云地圖標注 超呼電話機器人 十堰營銷電銷機器人哪家便宜 宿遷便宜外呼系統平臺 貴州電銷卡外呼系統 鄭州人工智能電銷機器人系統 山東外呼銷售系統招商 日本中國地圖標注 北京400電話辦理收費標準

   swap空間對于操作系統來說比較重要,當我們使用操作系統的時候,如果系統內存不足,常常會將一部分內存數據頁進行swap操作,以解決臨時的內存困境。swap空間由磁盤提供,對于高并發場景下,swap空間的使用會嚴重降低系統性能,因為它引入了磁盤IO操作。

   在Linux中,提供了free命令來查詢操作系統的內存使用情況,free 命令的結果中也包含了swap相關的情況,例如下面的結果中:

[root@VM-0-14-centos ~]# free -ht
       total    used    free   shared buff/cache  available
Mem:      1.8G    1.3G     72M    692K    433M    283M
Swap:      0B     0B     0B
Total:     1.8G    1.3G     72M

我們可以看到swap的值都是0,說明當前的內存是沒有配置swap空間的,目前的操作系統的內存是足夠的,通常情況下swap一行的used列應該是0B比較好,它證明你的操作系統內存充足,沒有發生swap空間的交換操作。

實時查看swap的使用

Linux中還為我們封裝了vmstat這個命令來查看系統的相關性能指標,其中也包含swap空間,其中和swap有關的指標是si和so,分別代表swap in和swap out,我們看看vmstat的執行結果:

[root@VM-0-14-centos ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r b  swpd  free  buff cache  si  so  bi  bo  in  cs us sy id wa st
 4 0   0 73712 84464 362016  0  0   7  26  7  1 1 1 98 0 0

查看執行進程占用swap的情況

在Linux操作系統中,/proc/pid/smaps這個文件記錄了當前進程所對應的內存映像信息,這個信息對于查詢指定進程的swap使用情況很有幫助。下面以一個Redis實例進行說明:

[root@VM-0-14-centos ~]# ps -ef|grep redis  
root   1711   1 0 Jul20 ?    00:20:15 src/redis-server 127.0.0.1:21243
root   2370   1 0 Jul20 ?    00:20:18 src/redis-server 127.0.0.1:21244
root   2371   1 0 Jul20 ?    00:20:13 src/redis-server 127.0.0.1:21263
root   7815 5781 0 23:39 pts/3  00:00:00 grep --color=auto redis
root   14804   1 0 Jul20 ?    00:20:39 redis-server *:6379
我們以14804這個redis進程為例
[root@VM-0-14-centos ~]# cat /proc/14804/smaps | grep Swap
Swap:         0 kB
Swap:         0 kB
Swap:         0 kB
.....
Swap:         0 kB
Swap:         0 kB
Swap:         0 kB

通常情況下,Linux服務器不會等到所有物理內存都被使用完再使用swap空間,它引入swapiness這個變量來決定操作系統使用swap空間的傾向程度,它的取值是0~100,值越大,表示操作系統使用swap的可能性越高,反之則越低。swapiness變量值存在于系統配置文件/proc/sys/vm/swappiness 和/etc/sysctl.conf中,其前面的文件在重啟之后,就失效了,只有將這個值寫入后面的文件,才能長久的保存下去。

[root@VM-0-14-centos ~]# cat /proc/sys/vm/swappiness 
30

寫入/etc/sysctl.conf的方法如下:

echo vm.swappiness={value} >> /etc/sysctl.conf

Redis在不同版本下,對于swapiness的建議配置也不一樣,通常情況下,swapness的值可以設置為:0、1、60、100這幾個。

其中:

設置為60是默認值,

設置為100則操作系統會主動使用swap空間,

設置成為0的話,在Linux3.4以及更早的Linux版本中,內存不夠時,傾向使用swap而不是OOM killer,在Linux3.5以及之后的版本中,傾向使用OOM Killer而不是swap空間

設置為1的話,在Linux3.5以及后續版本中,內存不夠用的時候,傾向于使用swap空間,而不是OOM Killer

多說一句:OOM kill是指Linux發現操作系統不可用的時候,也就是Out Of Memory的時候,強制殺死一些非內核進程,來保證有足夠的可用內存進行分配。一般OOM的日志記錄在系統日志/var/log/message中

以上就是Redis swap空間的使用示例的詳細內容,更多關于Redis swap空間的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 一次關于Redis內存詭異增長的排查過程實戰記錄
  • 淺談redis內存數據的持久化方式
  • Redis教程(十一):虛擬內存介紹
  • redis 限制內存使用大小的實現
  • redis內存空間效率問題的深入探究

標簽:江蘇 北京 吉安 楊凌 朝陽 臺州 大慶 果洛

巨人網絡通訊聲明:本文標題《Redis swap空間(虛擬內存)的使用詳解》,本文關鍵詞  Redis,swap,空間,虛擬,內存,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Redis swap空間(虛擬內存)的使用詳解》相關的同類信息!
  • 本頁收集關于Redis swap空間(虛擬內存)的使用詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 洛南县| 黑龙江省| 天津市| 务川| 苗栗市| 边坝县| 三穗县| 南岸区| 镇坪县| 嘉兴市| 台前县| 万安县| 乐平市| 芷江| 即墨市| 肃宁县| 恩平市| 安新县| 前郭尔| 泸州市| 工布江达县| 凉城县| 满洲里市| 宣城市| 方山县| 平舆县| 余姚市| 茌平县| 漳平市| 夏津县| 黎川县| 嘉鱼县| 荆州市| 锡林浩特市| 闵行区| 高青县| 偃师市| 库车县| 乌兰浩特市| 博湖县| 富平县|