精华内容
下载资源
问答
  • 服务器swap

    2013-11-12 16:35:00
    交换区(swap)是存在于高速存储设 备上的一块区域,是虚拟内存系统重要的组成部分。通过交换区,我们不再局限于有限的物理内存空间,理论上可以无限地扩大虚拟内存系统,从而运行更多的程 序,进行更多的业务交易,更...

          交换区(swap)是存在于高速存储设 备上的一块区域,是虚拟内存系统重要的组成部分。通过交换区,我们不再局限于有限的物理内存空间,理论上可以无限地扩大虚拟内存系统,从而运行更多的程 序,进行更多的业务交易,更充分地发挥硬件资源。交换区采用换入换出技术和存储器间互相交换进程或数据页面。根据一定的调度原则,内存中部分不常用的进程 或数据页定期交换到交换区中,以便为需要运行的程序留出更多的可用空间。交换出去的进程或数据页根据需要时再交换进来,这样一来就实现了大量并发进程的管 理。不适当的交换区设置不仅使换页守护进程忙于交换页面进出而消耗时间,而且使进程运行的速度、系统效率都大大降低,很大程度上影响了操作系统的性能。当前,应用程序的日益庞大,运行业务的急剧增加,高性能数据库如Informix Online Dynamic Server为响应对数据的快速存取而使用的共享内存技术等,都对有限的物理内存空间提出了更高的要求,因此实施对交换区的有效管理具有重要作用。

      交换区容量的计算

      交换区一般在操作系统初始安装时要求设定,大多数程序要求最少所需的交换区容量以正常运转。一般来说,当物理内存不超过256M时,主交换区容 量设置为内存的两倍,超过256M时,则选择与物理内存的容量相同。操作系统安装完毕后,随着应用程序的不断增加和业务的变化,原有的交换区设置可能满足 不了需要,对系统的性能也产生影响,系统管理员可增加新的交换区作为辅助交换区与主交换区配套使用。管理员还应经常监视交换区的使用情况,根据需要及时作 出必要的调整。

      交换区的类型

      交换区分主要分以下四种类型:

      1.设备交换

      即使用连续物理空间的整个磁盘或部分磁盘区域作为交换区,这样速度比较快。在HP-UX中使用先进的逻辑卷技术实现对物理磁盘的动态可伸缩管理,因此管理员可使用一个或多个逻辑卷作为设备交换,而在SCO OpenServer中,则使用占据一定磁盘空间区域的块设备作为设备交换。

      2.文件系统交换

      文件系统交换是一种辅交换,仅在设备交换不敷使用时才被考虑以满足换页需求,特点是配置简单方便并可动态设置。因为文件系统交换只使用它需要的 部分文件系统,所以使用空间的大小是变化的,同时该文件系统中还有许多应用程序和数据需要频繁存取,因而很大程度上降低了系统运行的效率。管理员可将文件 系统交换限制在一个固定的范围内以防止它占用不必要的空间,并且最好建立在较少使用的文件系统上。

      对UNIX系统而言,当启动文件系统交换时,将在文件系统的根目录下创建"/paging"目录,文件系统为被使用的每一个交换块都创建一个文件,交换块默认为2MB。

      3.主交换

      系统启动时至少需要一个设备交换可用,这就是主交换区域,默认与root文件系统共存于同一个磁盘中。

      4.辅交换

      指主交换之外的其他交换。文件系统交换总是辅交换,如果使用设备交换作为辅交换,尽量设定在非root文件系统盘上以获得更好的性能。辅交换可以在UNIX启动时自动启用或在系统运行时动态增加。

      交换区动态设置

      现实情况中我们经常遇到因操作系统安装时交换区配置不当而无法满足随后日益增长的应用需要,重新安装操作系统不仅费时,还会造成一定程度的业务 风险,所以并不可取。大多数UNIX系统都提供了通过命令行实现交换区动态设置的方法,管理员应熟知了解。HP-UX中使用的命令是swapon,SCO OpenServer中使用的命令是swap。以下举例说明:

      1.对于HP-UX10.20/11.00:

      # swapon -p 1 -f /dev/vg05/lvol7(启用一个逻辑卷作为设备交换区使用,-p设置了该交换区的优先权, -f表示强制覆盖原有文件系统结构)

      # swapon -f /dev/dsk/c1t6d0(启用整块磁盘作为设备交换区使用)

      # swapon -p 4 -l 50M /fs1 (在文件系统/fs1上建立交换区,该交换区的优先权为4,最多使用50M的空间)

      2.对于SCO OpenServer 3.X/5.X:

      # swap -a /dev/swap1(启用一个逻辑设备作为设备交换区使用,命名为swap1)

      # swap -a /dev/dsk/1s0(启用整块物理盘作为设备交换区使用)

      # swap -a /dev/dsk/1s1 100 100000(启用物理盘的一块区域作为设备交换区使用,100、100000表示偏移值和容量,单位为块,即512字节,所以实际容量为50M)

      # swap -a /tmp/swaptmp 64000(在普通文件/tmp/swaptmp上建立交换区,容量为32M)

      监控交换区的使用情况

      业务总是处于一定的变化和发展中,因此管理员需要定期监控交换区的使用情况,如果可用容量不足,就要进行合理的增加。在HP-UX系统中,常用 swapinfo来监控交换区的使用状况, 在SCO OpenServer中则使用swap命令,它们均可显示所有的交换区信息。HP-UX更以百分比的形式直观显示使用状况,如果使用比超过80%,管理员 要及时分析原因,制定策略,谨慎调整,确保所有用户均可正常使用他们的应用程序,也使整个系统处于良好的运行状态。

      交换区的优先权设置

      在HP-UX中设置交换区时指定数字0-10作为可用的优先权值,默认值是1。数字越小,优先权越高,即优先被操作系统使用。如果设备交换与文 件系统交换的优先权相同,设备交换先于文件系统交换使用。建议对所有的设备交换都设置相同的优先权,这样可以并行处理多个交换请求。因为减少了磁头的来回 移动,系统性能得以迅速提高。

      选用交换区的指导方针

      1.对于设备交换

      (1)尽量在多个磁盘上建立多个交换区。实践表明,两个在不同磁盘上的交换区从性能上要优于一个同样大小空间的交换区在一个磁盘上。处于同样考虑,不要在一个磁盘上建立多个交换区段。

      (2)分布在多个磁盘上的多个交换区要置于相同的优先权,从而实现以交叉存取的方式并列使用。

      (3)为获取最佳性能,应在多个磁盘上建立多个相同大小的设备交换区,否则当所有其他较小的交换区的空间被用完时,大的交换区就是唯一可以使用的,无法进行交叉存取。

      (4)交换区尽量建立在运转速度快的磁盘上。在一定程度物理内存大于操作系统可管理的有效内存的情况下,选择物理内存的一部分区域作为设备交换是一个相当好的选择。

      2.对于文件系统交换

      (1)除非无法使用设备交换,否则最好不要使用文件系统交换。

      (2)将文件系统交换设置在不经常使用的文件系统上。

      (3)不要在同一个物理磁盘上建立两个文件系统交换,这样一来会导致磁头的过量移动,妨碍系统性能。

      (4)启用文件系统交换时,也应设置多个,分布在不同的磁盘上,赋予相同的优先级以实现交叉存取。

    Linux下察看swap分区大小的命令
      top
      或者fdisk -l
      或者free -m
    SWAP分区一般大小为物理内存的2倍,但最大不超过2G;
    增加SWAP空间的方法有两个:增加另外一个SWAP分区,或通过创建一个SWAP文件来实现。

      一)增加一个SWAP分区:
      1)创建一个SWAP分区: fdisk -l /dev/cciss/c0d0 (m---p ---n --t (将分区格式转换成 82)--w)(如/dev/cciss/c0d0p6)
      2)格式化分区:mkswap -c v1 /dev/cciss/c0d06;
      3)修改/etc/fstab文件,增加
      /dev/cciss/c0d0p6 swap swap default 0 0
      4)激活swap分区:swapon -a /dev/cciss/c0d0p6;
      5) 查看swap 分区:swapon -s 或 free 或 cat /proc/swaps
      二)增加一个SWAP文件;
      1)dd if=/dev/zero of=/tmp/tmp.swap bs=1M count =100;( 建立一个100M的文件);
      2)mkswap /tmp/tmp.swap; (标识为SWAP文件)
      3)swapon /tmp/tmp.swap;(激活SWAP文件)
      4)修改/etc/fstab文件,增加以下内容:
      /tmp/tmp.swap swap swap default 0 0
      5)swapon -s 或free 或cat /proc/swaps 查看。
      三)删除SWAP分区:
      1) swapoff /dev/cciss/c0d0p6;(关闭所有swap分区:swapoff -a)
      2) 修改/etc/fstab文件。(删除或注释掉swap行;若不修改,机器重启后swap分区将会打开)

    相关链接:关闭swap命令及启停命令大全

                  mkfs使用介绍

    转载于:https://www.cnblogs.com/276815076/p/3419795.html

    展开全文
  • MySQL服务器Swap占用

    2019-09-11 16:18:17
    最近几天,zabbix服务器性能监控一直报警MySQL服务器Swap占用超过50%,对于MySQL服务器来说使用swap会严重影响数据库性能。 通过free命令查看内存使用情况,信息如下: total used free shared bu...

            最近几天,zabbix服务器性能监控一直报警MySQL服务器Swap占用超过50%,对于MySQL服务器来说使用swap会严重影响数据库性能。

            通过free命令查看内存使用情况,信息如下:

                                  total       used              free           shared    buffers     cached

            Mem:      32880188   32628976     251212        644     286996    6747344

            -/+ buffers/cache:   25594636    7285552

            Swap:         4095996    1963920    2132076

            分析如下:

            第一行:总内存32G,使用近32G,剩余250M,shared644K(弃用),buffer280M,cached6.7G

            第二行:实际占用内存25.5G,实际可用内存7.2G

            第三行:Swap总共4G,使用了近2G,剩余2G。

     

            buffer和cache的区别:

            buffer是写缓存,cache是读缓存。

     

            -/+ buffers/cache意义:

            第一列的值=used-buffers-cached:表示实际内存被占用情况。

            第二列的值=free+buffers+cached:表示系统可释放的内存资源。

     

            由以上的参数可以看出:系统还有7G多的内存可释放,因此可判断占用swap空间的原因是swappiness参数配置问题:

            查看swappiness参数:

            shell> cat /proc/sys/vm/swappiness

            60

            60是默认值,swappiness的取值范围是0-100,数值越小表示越倾向使用物理内存,数值越大越倾向使用swap。由于这台服务器是MySQL数据库服务器,配置了较大的物理内存32G,在这种大内存的情况下,swappiness设置为60是显然不合适的,于是做以下调整:

            shell> echo 10 > /proc/sys/vm/swappiness

            将swappiness的值设为10(最小可设为0),如果要永久生效,编辑/etc/sysctl.conf上添加vm.swappiness=0这个参数。

    展开全文
  • 今天Nagios监控发现一台Oracle数据库服务器swap严重,导致部分Nagios监控项超时报警 查看该服务器,swap空间设置为32G,已使用19G,使用率非常高,并且,vmstat显示si严重 此服务器物理内存32G,SGA设置20G,连接...

    今天Nagios监控发现一台Oracle数据库服务器swap严重,导致部分Nagios监控项超时报警

    查看该服务器,swap空间设置为32G,已使用19G,使用率非常高,并且,vmstat显示si严重

    此服务器物理内存32G,SGA设置20G,连接数不高,即使设置不当,也不应该出现如此严重的swap

    cat /proc/meminfo

    发现此服务器设置了HugePage,但状态均为Free

    我们知道HugePage设置后,即使不使用它,所占的内存空间也不能被其他进程使用,并且,HugePage是pin在物理内存空间的,不会被swap,也就意味着32G物理内存,其实只有12G可用,难怪这么高的swap

    那么,为什么会出现这个问题呢?之前为什么没有出现这个问题?

    原因在于,此服务器在2个月前曾被重启,之前工程师在启动Oracle之前运行了ulimit -l unlimited,而2个月前重启的工程师不知道开启了HugePage,直接用标准模式重启了Oracle。由于操作系统limit配置的问题,导致无法使用HugePage

    解决方法很简单

    1.启动Oracle前,执行ulimit -l unlimited

    2.修改/etc/security/limits.conf

    增加:

    oracle soft memlock -1
    oracle hard memlock -1

    [@more @]

    转载于:https://my.oschina.net/sniperLi/blog/365202

    展开全文
  • 云环境服务器swap交换分区的处理办法 序:因前使用到阿里云、腾讯云、华为云等公有云服务器的日益渐多,因阿里云等厂商默认设置系统的时候不给予创建swap交换分区,本人也遇到的相关问题,经过一番折腾搞定了相关的...

    云环境服务器swap交换分区的处理办法

    序:因前使用到阿里云、腾讯云、华为云等公有云服务器的日益渐多,因阿里云等厂商默认设置系统的时候不给予创建swap交换分区,本人也遇到的相关问题,经过一番折腾搞定了相关的问题,这里做下处理记录
    一、查看磁盘使用空间

    	df -h
    

    在这里插入图片描述

    查看所有挂载盘中,可用磁盘最多的那个挂载目录,笔者这里是/data目录
    二、创建swap交换分区文件
    创建一个16G 大小的swapfile文件,大小可根据需求进行变更

    	fallocate -l 16G /data/swapfile
    

    在这里插入图片描述
    三、指定swap交换分区的目的文件路径并设置大小

    dd if=/dev/zero of=/data/swapfile bs=1M count=16384
    

    在这里插入图片描述
    四、指定swap交换分区的文件

     mkswap /data/swapfile
    

    在这里插入图片描述
    五、激活swap交换分区

    swapon /data/swapfile
    

    六、设置服务器重启后自动挂载swap交换分区
    1、vi编辑器打开fstab文件

    vim /etc/fstab
    

    2、 在文件中如下输入

    /data/swapfile 			swap          swap     defaults      1 1
    

    (解释)最后的是0或1可自行选择,0代表开机不检测磁盘,1代表开机磁盘检测,云服务器默认为1.
    七、检查交换分区生效

    free -lh
    

    八、重启服务器确定自动挂载生效

    reboot
    

    九、关闭交换分区的方法

    swapoff  /data/swapfile
    
    展开全文
  • MySQL服务器Swap满了100%导致db很慢很卡 DB服务器会产生swap呢?假设我们的物理内存是12G,swap是3G。如果MySQL本身已经占用了10G物理内存,而 同时其他应用程序或者系统进程又需要3G内存,这时候操作系统就可能...
  • 折中一下,写个脚本监控swap吧,放在crontab里面,2小时执行一次,世界安静了,再也没有烦人的报警短信了 代码如下:#!/bin/bash function usage { echo “Usage: $0” echo “e.g. $0 1500” exit } if [ $# -lt 1 ]...
  • MySQL服务器Swap满了100%导致db很慢很卡分类:MySQL Basic2013-03-11 16:33719人阅读评论(0)收藏举报MySQL服务器Swap满了100%导致db很慢很卡DB服务器会产生swap呢?假设我们的物理内存是12G,swap是3G。如果MySQL...
  • 查看服务器swap占用情况

    千次阅读 2017-11-09 21:38:00
    最近查看内存使用情况的时候发现swap消耗比较大,但是没有命令能够直接查看某个进程占用swap的大小。只能看总的swap还有多少。 其实在 proc下以进程号命令的文件夹中是有swap的使用量的,只需要将所有的以Swap开头的...
  • 【作者】 王栋:携程技术保障中心...SWAP的问题比较复杂,本文会从SWAP的原理开始,分享我们碰到的案例和分析思路。 【SWAP原理】 swap是把一部分磁盘空间或文件,当作内存来使用。它有换出和换入两种方式,换出是进...
  • AIX虚拟内存分页替换的原理及Oracle数据库服务器swap空间满的分析 一、AIX虚拟内存分页替换的原理如下: 分页替换守护进程lurd选择非计算性分页还是计算性分页进行替换,主要取决于四个参数:minperm,maxperm,...
  • 1、新建一个8G大小的addswap文件。 dd if=/dev/zero of=/addswap bs=2M count=4096 #如果你有额外的磁盘空间,也可以用fdisk新建一个磁盘分区,然后再挂载增加; 2、格式化addswap文件(或新建的分区) ...
  • android开发服务器swap分区手动增加

    千次阅读 2013-10-15 12:01:49
    使用 free -g 查看 swap大小 ...sudo dd if=/dev/zero of=swapfile bs=1024 count=10000000 (我原本的是8G 做服务器需要16G的swap空间 所以我又添加了10个G) 把生成的文件转换成 Swap 文件 sudo mkswap swa
  • 今天一客户突然打电话过来,说有一台linux服务器发出swap空间不足的报警,要我们过去查看一下并解决。赶到客户机房后,仔细查看一番,发现没有内存泄漏,是真的swap不足。 原本是想直接kill掉memcached,但其公司的...
  • SWAP产生原理】 先从swap产生的原理来分析,由于linux内存管理比较复杂,下面以问答的方式列了一些重要的点,方便大家理解: 1、swap是如何产生的 swap指的是一个交换分区或文件,主要是在内存使用存在压力时,...
  • 随着服务器内存越来越大,我们常说的SWAP一般是内存的2倍,这个基本原则已经不怎么再适用,所以要适当的来调整一下,下面就给出一些参考信息,希望对大家有用。 物理内存<4G,至少设置2GB的swap 4G<物理内存...
  • 1、swap的作用 系统管理和DBA都知道,在Linux和UNIX系统上都有一个SWAP分区,该分区,例似于于Windows系统上的虚拟内存。 当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,临时转移到...
  • MySQL的SWAP使用率高导致db很慢很卡
  • 根据linux 内核机制介绍,一般情况下不会用到swap交换分区,除非物理内存真的不够用了,才会使用swap分区把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,099
精华内容 839
关键字:

服务器swap