zoukankan      html  css  js  c++  java
  • linux tmpfs /dev/shm 简述

    简单描述下什么是tmpfs和/dev/shm

    tmpfs是Linux/Unix系统上的一种基于内存的文件系统。可以简单理解为内存文件系统,所以优点就是快。那么缺点就是重启后,内容就没了。
    /dev/shm 是一个设备文件,它使用就是tmpfs文件系统。

    /dev/shm 这个目录不在硬盘上,而是在内存里,它就所谓的tmpfs。在Redhat/CentOS等linux发行版中默认大小为物理内存的一半。
    /dev/shm 是个动态文件系统,如果没有任何文件,它占用的内存实际上就是0字节。
    查看 linux 7.2 的 /dev/shm

    # free -m
                  total        used        free      shared  buff/cache   available
    Mem:           7823         133        6817           8         872        7614
    Swap:          8191           0        8191
    
    # df -hT
    Filesystem              Type      Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root xfs        40G  5.4G   35G  14% /
    devtmpfs                devtmpfs  3.9G     0  3.9G   0% /dev
    tmpfs                   tmpfs     3.9G     0  3.9G   0% /dev/shm
    tmpfs                   tmpfs     3.9G  8.6M  3.9G   1% /run
    tmpfs                   tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
    /dev/sda1               xfs       497M  125M  372M  26% /boot
    tmpfs                   tmpfs     783M     0  783M   0% /run/user/0
    tmpfs                   tmpfs     783M     0  783M   0% /run/user/1001

    如果觉得/dev/shm 不够用,可以调整
    临时修改

    #mount -o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm

    在2G的机器上,将最大容量调到1.5G,并且inode数量调到1000000,这意味着大致可存入最多一百万个小文件。
    永久修改

    #vi /etc/fstab
    tmpfs /dev/shm tmpfs defaults,size=1.5G 0 0

    oracle 11g的amm内存管理模式就是使用/dev/shm,所以有时候修改 MEMORY_TARGET 或者 MEMORY_MAX_TARGET 会出现ORA-00845的错误
    此时必须满足条件 memory_max_target <= /dev/shm

  • 相关阅读:
    vue项目本地调试,内网穿透
    EMQ开启mysql认证
    vsftpd配置安装
    express使用https
    vue实现图片的上传和删除
    Linux下获取java堆栈文件并进行分析
    kill -3 PID命令获取java应用堆栈信息
    Linux下的java虚拟机性能监控与故障处理命令
    k8s下的eureak服务注册失败(cannot execute request on any known server)解决
    MariaDB主从复制虚拟机实战
  • 原文地址:https://www.cnblogs.com/ctypyb2002/p/9793021.html
Copyright © 2011-2022 走看看