首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力!

巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力!

作者头像
小小科
发布于 2018-05-02 09:33:06
发布于 2018-05-02 09:33:06
2K0
举报
文章被收录于专栏:北京马哥教育北京马哥教育

巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力!

一.什么是tmpfs和/dev/shm/?

tmpfs是Linux/Unix系统上的一种基于内存的文件系统。tmpfs可以使用您的内存或swap分区来存储文件。由此可见,tmpfs主要存储暂存的文件。它有如下2个优势:

1)动态文件系统的大小。

2)tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在内存 RAM 中,读写几乎可以是瞬间的。

同时它也有一个缺点 tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。tmpfs不具备持久性,重启后数据不保留,请务必注意!!!

/dev/shm/是一个设备文件,它使用就是tmpfs文件系统(注意:在Centos和Redhat下,/dev/shm目录是一个链接,指向/run/shm目录,在Ubuntu系统下tmpfs文件系统对应的是/run/shm目录,可以使用df命令查看),因为 /dev/shm/这个目录不在硬盘上,而是在内存里,它就所谓的tmpfs。在Redhat/CentOS等linux发行版中默认大小为物理内存的一半。 比如我的的Red Hat Enterprise Linux Server 5.4 64(单核,512内存)分配内存为512M,所以/dev/shm为250M左右,查看/dev/shm如下:

[root@AY1212111202285f63122 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/hda1 20G 7.6G 11G 42% /

tmpfs 250M 0 250M 0% /dev/shm

tmpfs是基于内存的文件系统,创建时不需要使用mkfs等初始化。如我想把/dev/shm tmpfs大小改为512M,修改/etc/fstab的:

tmpfs /dev/shm tmpfs defaults 0 0

改为

tmpfs /dev/shm tmpfs defaults,size=512m 0 0

然后执行mount -o remount /dev/shm

[root@AY1212111202285f63122 ]# mount -o remount /dev/shm

[root@AY1212111202285f63122 ]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/hda1 20G 7.6G 11G 42% /

tmpfs 512M 0 512M 0% /dev/shm

怎么样,变成512M啦,使用很方便吧,重启也没有问题的,哈哈。当然在生产环境中你可以把内存加大些,反正现在内存很便宜啦,为了提高性能也需要将/dev/shm加大。

二.tmpfs(/dev/shm)的使用及应用场景

tmpfs是基于内存的,速度是不用说的,硬盘和它没法比。Oracle 中的Automatic Memory Management特性就使用了/dev/shm。另外如果在网站运维中好好利用tmpfs,将有意想不到的收获。我们先在/dev/shm建一个tmp目前,并与/tmp绑定。

[root@AY1212111202285f63122 ~]# mkdir /dev/shm/tmp

[root@AY1212111202285f63122 ~]# chmod 1777 /dev/shm/tmp //注意权限

[root@AY1212111202285f63122 ~]# mount --bind /dev/shm/tmp /tmp

[root@AY1212111202285f63122 ~]# ls -ld /tmp

drwxrwxrwt 2 root root 40 May 29 21:46 /tmp

以下/tmp使用tmpfs文件系统的一些应用示例,一般tmpfs内存文件系统在做web缓存,cache,临时文件存储时会对web访问有很好的加速作用,从而提高网站访问的速度。

(1)将squid的缓存目录cache_dir放到/tmp下

vi /etc/squid/squid.conf

修改成

cache_dir ufs /tmp 256 16 256

这里的第一个256表示使用256M内存,重启一下squid服务,这样缓存目录都放在了tmpfs文件中了,速度不用说吧。

(2)将php的session文件放在/tmp下

对于一个访问量大的以apache php的网站,可能tmp下的临时文件都会很多,比如seesion或者一些缓存文件,那么你可以把它保存到tmpfs文件。保存seesion的方法很简单了:只要修改php.ini就行了,通过phpinfo测试文件查看你的php session存储位置,如果不在/tmp下,修改php.ini文件,修改如下:

session.save_path = “/tmp”

(3)将服务的socket文件放在/tmp下

如nginx.socket和mysql.sock 。

至于tmpfs的其他应用,我想大家可能通过这篇文章会有所启发。再次强调下:tmpfs 数据在重新启动之后不会保留,重启tmpfs 数据会丢失,所以有必要做一些脚本做诸如加载,绑定的操作!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2014-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
命令行工具:csvkit命令行操作csv
csvkit csvkit是一个处理CSV文件的一个小工具,基于python,可以直接通过pip install csvkit安装。集成了csvlook,csvcut和csvsql等好用的小工具,非常好用。可以以表格形式显示CSV文件,可以轻松选取CSV指定列,可以在其上执行SQL操作 以如下的student.csv为例,做简单演示: name gender score grade David male 85 B Michael female 90 A Cammy male 88 A Tom female
用户2183996
2018/06/21
2.8K0
csvkit:处理 CSV 文件的工具集
CSV (Comma-Separated Values) 文件格式是数据存储和交换中最常见的格式之一。处理 CSV 文件时,虽然 Python 的内置 csv 模块已经非常强大,但为了更高效地处理和分析 CSV 数据,csvkit 库提供了更多的功能和工具。csvkit 是一组用于处理 CSV 文件的工具集,旨在简化 CSV 文件的读取、写入、转换和分析工作。本文将详细介绍 csvkit 库,包括其安装方法、主要特性、基本和高级功能,以及实际应用场景,帮助全面了解并掌握该库的使用。
luckpunk
2025/02/08
4150
csvkit:处理 CSV 文件的工具集
命令行上的数据科学第二版 三、获取数据
本章讨论 OSEMN 模型的第一步:获取数据。毕竟,没有任何数据,我们就没有多少数据科学可以做。我假设你已经有了解决数据科学问题所需的数据,第一步你需要把这些数据放到你的电脑上(也可能放到 Docker 容器里)。
ApacheCN_飞龙
2023/03/31
2.6K0
十款我最喜欢的命令行工具
工欲善其事必先利其器,对于一个经常在终端下工作的我,非常喜欢命令行工具的便捷,在平常的工作中,我会经常使用到很多命令行工具,接下来我会分享我最常使用,最喜欢的十个命令行工具。
程序那些事儿
2023/03/07
7010
十款我最喜欢的命令行工具
ISTIOCTL 命令行工具参考
[virtualservice gateway destinationrule serviceentry httpapispec httpapispecbinding quotaspec quotaspecbinding servicerole servicerolebinding policy]
崔秀龙
2019/07/22
6.3K0
【游戏开发】Excel表格批量转换成CSV的小工具
  在工作的过程中,我们有时可能会面临将Excel表格转换成CSV格式文件的需求。这尤其在游戏开发中体现的最为明显,策划的数据文档大多是一些Excel表格,且不说这些表格在游戏中读取的速度,但就论占用内存来说,同样的数据量Excel表格所占用的内存要远远大于CSV,因此将Excel转换成CSV势在必行。如果单单转换一个Excel表格还好,直接另存为就搞定的,但是如何将一个文件下的N个Execl表格转成CSV呢?今天马三就来和大家一起用Python撸一个Excel表格批量转换CSV的小工具——Xls2CSV。
马三小伙儿
2018/09/12
2.3K0
【游戏开发】Excel表格批量转换成CSV的小工具
从日志到表格,不用导入数据库就能用sql查询
大家好,波哥又来给大家推荐好东西啦! 欢迎大家在评论区留言评论自己想了解的工具、方向或职业等互联网相关内容,点赞和推荐多的,波哥会优先安排解答!
IT运维技术圈
2025/03/28
1710
从日志到表格,不用导入数据库就能用sql查询
命令行上的数据科学第二版:七、探索数据
在所有这些艰苦的工作之后(除非你已经有了干净的数据),是时候享受一些乐趣了。现在您已经获得并清理了数据,您可以继续进行 OSEMN 模型的第三步,即探索数据。
ApacheCN_飞龙
2023/03/31
1.5K0
n种方式教你用python读写excel等数据文件
python处理数据文件的途径有很多种,可以操作的文件类型主要包括文本文件(csv、txt、json等)、excel文件、数据库文件、api等其他数据文件。
派大星的数据屋
2022/04/02
4.3K0
金融科技:数据导入技术
使用pandas库的read_csv函数导入csv和read_excel函数导入xlxs格式 参考代码
陆勤_数据人网
2022/03/29
1K0
python数据分析——数据分析的数据的导入和导出
数据分析的数据的导入和导出是数据分析流程中至关重要的两个环节,它们直接影响到数据分析的准确性和效率。在数据导入阶段,首先要确保数据的来源可靠、格式统一,并且能够满足分析需求。这通常涉及到数据清洗和预处理的工作,比如去除重复数据、处理缺失值、转换数据类型等,以确保数据的完整性和一致性。
鲜于言悠
2024/03/20
6590
python数据分析——数据分析的数据的导入和导出
基于Python实现对各种数据文件的操作
更多参考:https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files
1480
2019/07/10
2.7K0
基于Python实现对各种数据文件的操作
命令行上的数据科学第二版 五、清理数据
两章前,在 OSEMN 数据科学模型的第一步,我们看到了从各种来源获取数据。这一章讲的都是第二步:清理数据。你看,你很少能立即继续探索甚至建模数据。您的数据首先需要清理或清理的原因有很多。
ApacheCN_飞龙
2023/03/31
3K0
在 Linux 中监控 MySQL 性能的 4 个有用的命令行工具
◆ 概述 监控mysql性能的工具有很多,好的工具是诊断myql性能瓶颈和排除服务器的利器。日常工作我们常常用到工具如zabbix(借助脚本或插件),Prometheus(本人工作中常用)、MONyog等。但在一些特殊情况下,这它们并不总是完美满足mysql开发人员或管理员的常见需求,或者在某些情况一下可能无法正常工作。令人兴奋的是mysql社区创建了各种开源工具来填补这些空白。今天分享4个命令行工具来监控Linux中mysql数据库正常运行时间、负载和性能。 ◆ 1 、Mytop Mytop是开源和免费
IT大咖说
2022/03/28
2.2K0
108个Python精选库,建议收藏留用!
Python为啥这么火,这么多人学,就是因为简单好学,功能强大,整个社区非常活跃,资料很多。而且这语言涉及了方方面面,比如自动化测试,运维,爬虫,数据分析,机器学习,金融领域,后端开发,云计算,游戏开发都有涉及。
程序员晚枫
2022/06/08
2.1K0
108个Python精选库,建议收藏留用!
干货:手把手教你用Python读写CSV、JSON、Excel及解析HTML
导读:本文要介绍的这些技法,会用Python读入各种格式的数据,并存入关系数据库或NoSQL数据库。
IT阅读排行榜
2018/12/13
9.4K0
excel 树结构json_excel转换json的强大工具
git clone https://github.com/koalaylj/xlsx2json.git
全栈程序员站长
2022/07/01
1.1K0
pandas.DataFrame.to_csv函数入门
在数据处理和分析的过程中,经常需要将数据保存到文件中,以便后续使用或与他人分享。pandas库是Python中最常用的数据处理和分析库之一,提供了丰富的功能和方法来处理和操作数据。其中,to_csv函数是pandas库中非常常用的一个函数,用于将DataFrame对象中的数据保存为CSV(逗号分隔值)文件。本文将介绍pandas.DataFrame.to_csv函数的基本使用方法,帮助读者快速上手。
大盘鸡拌面
2023/11/01
1.8K0
Python处理CSV文件(一)
CSV(comma-separated value,逗号分隔值)文件格式是一种非常简单的数据存储与分享方式。CSV 文件将数据表格存储为纯文本,表格(或电子表格)中的每个单元格都是一个数值或字符串。与 Excel 文件相比,CSV 文件的一个主要优点是有很多程序可以存储、转换和处理纯文本文件;相比之下,能够处理 Excel 文件的程序却不多。所有电子表格程序、文字处理程序或简单的文本编辑器都可以处理纯文本文件,但不是所有的程序都能处理 Excel 文件。尽管 Excel 是一个功能非常强大的工具,但是当你使用 Excel 文件时,还是会被局限在 Excel 提供的功能范围内。CSV 文件则为你提供了非常大的自由,使你在完成任务的时候可以选择合适的工具来处理数据——如果没有现成的工具,那就使用 Python 自己开发一个!
全栈程序员站长
2022/09/13
18.5K0
Python处理CSV文件(一)
Linux命令行的艺术
熟练使用命令行是一种常常被忽视或被认为难以掌握的技能,但实际上,它可以提高你作为工程师的灵活性以及生产力。本文是一份我在 Linux 上工作时发现的一些关于命令行的使用的小技巧的摘要。有些小技巧是非常基础的,而另外一些则是相当复杂的甚至晦涩难懂的。这篇文章并不长,但当你能够熟练掌握这里列出的所有技巧时,你就学会了很多关于命令行的东西了。 必读 涵盖范围: * 这篇文章对刚接触命令行的新手以及具有命令行使用经验的人都有用处。本文致力于做到覆盖面广(尽量包括一切重要的内容),具体(给出最常见的具体的例子)以及简
小小科
2018/05/03
7.4K0
推荐阅读
相关推荐
命令行工具:csvkit命令行操作csv
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档