CN104123192A - 一种linux系统下基于内存子系统的性能调优方法 - Google Patents
一种linux系统下基于内存子系统的性能调优方法 Download PDFInfo
- Publication number
- CN104123192A CN104123192A CN201410379213.XA CN201410379213A CN104123192A CN 104123192 A CN104123192 A CN 104123192A CN 201410379213 A CN201410379213 A CN 201410379213A CN 104123192 A CN104123192 A CN 104123192A
- Authority
- CN
- China
- Prior art keywords
- memory
- file
- proc
- caches
- linux system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明提供一种linux系统下基于内存子系统的性能调优方法,linux系统在进行新的任务前,会首先去执行释放内存的动作,以释放系统不再运行的任务,在运行时所形成的cache。这样会有更多的内存空间供系统中要执行的用户应用程序运行,可以提升系统的整体性能值,具体步骤是:通过linux系统下的虚拟文件系统/proc,修改/proc/sys/vm/drop_caches文件来对内存进行调整,释放已不再使用的cache回归系统,cpu调用文件时,缓存及时提供CPU所需的文件。
Description
技术领域
本发明涉及计算机应用领域,具体地说是一种linux系统下基于内存子系统的性能调优方法。
背景技术
在linux系统中,对于内存优化管理,直接影响到整个系统性能的发挥。系统在执行用户任务时,各种应用程序频繁的访问及调用文件,从磁盘调入内存的文件,使得系统内存很快被写满。此时如果再需要调用新文件时,则必须把将内存中暂不使用文件释放,再从硬盘调入所需文件,处理器等待到文件被调进内存后才可使用文件,这样势必造成处理器等待的资源浪费;而当用户任务执行完毕后,其调用的应用程序所占用的系统内存并不能够被正常释放,而是被当做cache。当系统执行其他任务时,还需要重复从磁盘到内存的文件替换,处理器等待的过程,这导致了整体系统性能的下降。
Linux系统的缓存机制是针对dentry(用于VFS,加速文件路径名到inode的转换)、Buffer Cache(针对磁盘块的读写)和Page Cache(针对文件inode的读写)进行缓存操作。但是在进行了大量文件操作之后,缓存会把内存资源基本用光。但实际上我们文件操作已经完成,这部分缓存已经用不到了。如果不进行内存的释放,会导致系统因为物理内存被占满。linux系统下的swap分区,是系统在磁盘中划分出的一部分空间,作为虚拟的内存空间。其存取速度大于磁盘存取速度,但是远低于内存存取速度。当内存容量不够时,系统会自动分配swap做为内存使用,由于虚拟内存的存取速度因素,导致测试的最终性能结果值较低。因此及时释放作为cache的内存,对于性能有较好的提升。
发明内容
本发明的目的是提供一种linux系统下基于内存子系统的性能调优方法。本方法适用于linux系统下内存子系统性能调优对性能测试结果有较大影响的性能测试领域。
本发明的目的是按以下方式实现的,通过linux系统下的虚拟文件系统/proc,修改/proc/sys/vm/drop_caches文件来对内存进行调整,释放已不再使用的cache回归系统,cpu调用文件时,缓存及时提供CPU所需的文件,Linux系统下的内存子系统性能调优具体实现步骤如下:
1)linux系统下系统文件/proc/sys/vm/drop_caches中,可选参数值所代表意义为:
可选参数1表示free pagecache;
可选参数2表示free dentries and inodes;
可选参数3表示free pagecache, dentries and inodes
为彻底释放buffer与cache,选择值3.
2)运行sync 命令以确保linux文件系统的完整性
3)设置文件值:
echo 3>/proc/sys/vm/drop_caches
内存子系统的性能调优后,linux系统在进行新的任务前,会首先去执行释放内存的动作,以释放系统不再运行的任务,以腾出更多的内存空间供应用程序调用,这样会有更多的内存空间供系统执行用户新的应用程序运行,以提升系统的整体性能值。
所述的linux系统下基于内存子系统的性能调优方法,是在linux系统中,/proc为虚拟文件系统,通过对此虚拟文件的读写作为kernel与硬件间的通讯,本调优方法就是通过调整/proc/sys/vm/drop_caches来对内存进行调整,释放已不再使用的cache。
本发明的有益效果是:linux系统在进行新的任务前,会首先去执行释放内存的动作,以释放系统不再运行的任务,在运行时所形成的cache。这样会有更多的内存空间供系统中要执行的用户应用程序运行,可以提升系统的整体性能值。
附图说明
图1是系统内存分配逻辑图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
本发明的一种linux系统下基于内存子系统的性能调优方法,是通过linux系统下的虚拟文件系统/proc,修改/proc/sys/vm/drop_caches文件来对内存进行调整,释放已不再使用的cache回归系统,cpu调用文件时,缓存及时提供CPU所需的文件。
在系统中,通过命令:
#free –m
查看内存使用情况。
linux系统下查询内存使用结果如下:
# free -m
total used free shared buffers cached
Mem: totalnum used1 free1 0 buffer cached
-/+ buffers/cache: used2 free2
Swap: -- -- ---
内存使用关系式为:
Total(totalnum)=used(used1)+ free(free1)
-/buffer/cache:used(used2)=used(used1) - buffers – cached
+/buffer/cache:free(free2)=free(free1)+ buffers + cached
通过内存使用关系式及内存分配逻辑图可以看出,-/buffer/cached中的used(used2)是被实实在在的程序吃掉的内存部分。而看似被分配内存的used1,其中buffer与cached的部分存在一些已不再运行的程序,还在占用。因此通过优化,清除不再运行的程序所占用的buffer与cache,得到真正空闲内存的容量,即+/buffer/cached中的free2才是系统中真正的空闲内存容量。
Linux系统下的具体实现步骤:
1.linux系统下系统文件/proc/sys/vm/drop_caches中,可选参数值所代表意义为:
可选参数1表示free pagecache;
可选参数2表示free dentries and inodes;
可选参数3表示free pagecache, dentries and inodes
为彻底释放buffer与cache,选择值3.
2. 运行sync 命令以确保linux文件系统的完整性
3.设置文件值:
echo 3>/proc/sys/vm/drop_caches
这样设置后,linux系统在进行新的任务前,会首先去执行释放内存的动作,以释放系统不再运行的任务,在运行时所形成的cache。这样会有更多的内存空间供系统中要执行的用户应用程序运行,可以提升系统的整体性能值。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (2)
1.一种linux系统下基于内存子系统的性能调优方法, 其特征在于通过linux系统下的虚拟文件系统/proc,修改/proc/sys/vm/drop_caches文件来对内存进行调整,释放已不再使用的cache回归系统,cpu调用文件时,缓存及时提供CPU所需的文件,Linux系统下的内存子系统性能调优具体实现步骤如下:
1)linux系统下系统文件/proc/sys/vm/drop_caches中,可选参数值所代表意义为:
可选参数1表示free pagecache;
可选参数2表示free dentries and inodes;
可选参数3表示free pagecache, dentries and inodes
为彻底释放buffer与cache,选择值3.
2)运行sync 命令以确保linux文件系统的完整性
3)设置文件值:
echo 3>/proc/sys/vm/drop_caches
内存子系统的性能调优后,linux系统在进行新的任务前,会首先去执行释放内存的动作,以释放系统不再运行的任务,以腾出更多的内存空间供应用程序调用,这样会有更多的内存空间供系统执行用户新的应用程序运行,以提升系统的整体性能值。
2.根据权利要求1所述的linux系统下基于内存子系统的性能调优方法,其特征在于,在linux系统中,/proc为虚拟文件系统,通过对此虚拟文件的读写作为kernel与硬件间的通讯,本调优方法就是通过调整/proc/sys/vm/drop_caches来对内存进行调整,释放已不再使用的cache。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410379213.XA CN104123192A (zh) | 2014-08-04 | 2014-08-04 | 一种linux系统下基于内存子系统的性能调优方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410379213.XA CN104123192A (zh) | 2014-08-04 | 2014-08-04 | 一种linux系统下基于内存子系统的性能调优方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104123192A true CN104123192A (zh) | 2014-10-29 |
Family
ID=51768613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410379213.XA Pending CN104123192A (zh) | 2014-08-04 | 2014-08-04 | 一种linux系统下基于内存子系统的性能调优方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104123192A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794035A (zh) * | 2015-04-30 | 2015-07-22 | 浪潮电子信息产业股份有限公司 | 一种基于rhel7.0的内存测试方法及装置 |
US9886670B2 (en) | 2014-06-30 | 2018-02-06 | Amazon Technologies, Inc. | Feature processing recipes for machine learning |
US10102480B2 (en) | 2014-06-30 | 2018-10-16 | Amazon Technologies, Inc. | Machine learning service |
US10257275B1 (en) | 2015-10-26 | 2019-04-09 | Amazon Technologies, Inc. | Tuning software execution environments using Bayesian models |
US10318882B2 (en) | 2014-09-11 | 2019-06-11 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
CN109992574A (zh) * | 2019-04-10 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种自动调整并行文件系统的参数的方法及装置 |
US10452992B2 (en) | 2014-06-30 | 2019-10-22 | Amazon Technologies, Inc. | Interactive interfaces for machine learning model evaluations |
US10540606B2 (en) | 2014-06-30 | 2020-01-21 | Amazon Technologies, Inc. | Consistent filtering of machine learning data |
US10963810B2 (en) | 2014-06-30 | 2021-03-30 | Amazon Technologies, Inc. | Efficient duplicate detection for machine learning data sets |
US11100420B2 (en) | 2014-06-30 | 2021-08-24 | Amazon Technologies, Inc. | Input processing for machine learning |
US11182691B1 (en) | 2014-08-14 | 2021-11-23 | Amazon Technologies, Inc. | Category-based sampling of machine learning data |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100420132B1 (ko) * | 2001-05-30 | 2004-03-02 | 라인식 | 리눅스 커널 기반의 실시간 탐지 방법 |
US7720671B2 (en) * | 2006-11-30 | 2010-05-18 | Oracle America, Inc. | Method and system for child-parent mechanism emulation via a general interface |
CN102902563A (zh) * | 2012-09-24 | 2013-01-30 | 中标软件有限公司 | Linux操作系统及其启动过程中挂载文件系统的方法 |
CN102957563A (zh) * | 2011-08-16 | 2013-03-06 | 中国石油化工股份有限公司 | Linux集群故障自动恢复方法和Linux集群故障自动恢复系统 |
-
2014
- 2014-08-04 CN CN201410379213.XA patent/CN104123192A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100420132B1 (ko) * | 2001-05-30 | 2004-03-02 | 라인식 | 리눅스 커널 기반의 실시간 탐지 방법 |
US7720671B2 (en) * | 2006-11-30 | 2010-05-18 | Oracle America, Inc. | Method and system for child-parent mechanism emulation via a general interface |
CN102957563A (zh) * | 2011-08-16 | 2013-03-06 | 中国石油化工股份有限公司 | Linux集群故障自动恢复方法和Linux集群故障自动恢复系统 |
CN102902563A (zh) * | 2012-09-24 | 2013-01-30 | 中标软件有限公司 | Linux操作系统及其启动过程中挂载文件系统的方法 |
Non-Patent Citations (1)
Title |
---|
SKATE: "手工释放linux内存——/proc/sys/vm/drop_cache", 《HTTP://BLOG.CSDN.NET/WYZXG/ARTICLE/DETAILS/7279986》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886670B2 (en) | 2014-06-30 | 2018-02-06 | Amazon Technologies, Inc. | Feature processing recipes for machine learning |
US10102480B2 (en) | 2014-06-30 | 2018-10-16 | Amazon Technologies, Inc. | Machine learning service |
US10452992B2 (en) | 2014-06-30 | 2019-10-22 | Amazon Technologies, Inc. | Interactive interfaces for machine learning model evaluations |
US10540606B2 (en) | 2014-06-30 | 2020-01-21 | Amazon Technologies, Inc. | Consistent filtering of machine learning data |
US10963810B2 (en) | 2014-06-30 | 2021-03-30 | Amazon Technologies, Inc. | Efficient duplicate detection for machine learning data sets |
US11100420B2 (en) | 2014-06-30 | 2021-08-24 | Amazon Technologies, Inc. | Input processing for machine learning |
US11544623B2 (en) | 2014-06-30 | 2023-01-03 | Amazon Technologies, Inc. | Consistent filtering of machine learning data |
US11182691B1 (en) | 2014-08-14 | 2021-11-23 | Amazon Technologies, Inc. | Category-based sampling of machine learning data |
US10318882B2 (en) | 2014-09-11 | 2019-06-11 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
CN104794035A (zh) * | 2015-04-30 | 2015-07-22 | 浪潮电子信息产业股份有限公司 | 一种基于rhel7.0的内存测试方法及装置 |
US10257275B1 (en) | 2015-10-26 | 2019-04-09 | Amazon Technologies, Inc. | Tuning software execution environments using Bayesian models |
CN109992574A (zh) * | 2019-04-10 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种自动调整并行文件系统的参数的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104123192A (zh) | 一种linux系统下基于内存子系统的性能调优方法 | |
US10467152B2 (en) | Dynamic cache management for in-memory data analytic platforms | |
US10204175B2 (en) | Dynamic memory tuning for in-memory data analytic platforms | |
US9047196B2 (en) | Usage aware NUMA process scheduling | |
US20180349204A1 (en) | Method and apparatus for implementing virtual gpu and system | |
US8499010B2 (en) | Garbage collection in a multiple virtual machine environment | |
JP5585655B2 (ja) | システム制御装置、ログ制御方法および情報処理装置 | |
US10073721B2 (en) | Non-blocking writes to file data | |
JP2014517434A (ja) | コンピュータにより実行される方法及びコンピュータシステム | |
US10083058B2 (en) | Batched memory page hinting | |
US11243877B2 (en) | Method, apparatus for data management, and non-transitory computer-readable storage medium for storing program | |
US20210192046A1 (en) | Resource Management Unit for Capturing Operating System Configuration States and Managing Malware | |
CN111813710B (zh) | 避免Linux内核内存碎片方法、设备及计算机存储介质 | |
US11782761B2 (en) | Resource management unit for capturing operating system configuration states and offloading tasks | |
CN108038062B (zh) | 嵌入式系统的内存管理方法和装置 | |
US11940915B2 (en) | Cache allocation method and device, storage medium, and electronic device | |
US9697047B2 (en) | Cooperation of hoarding memory allocators in a multi-process system | |
CN110209354B (zh) | 用于处理数据的方法、装置、设备和介质 | |
KR102469927B1 (ko) | 분할 메모리 관리장치 및 방법 | |
US11436141B2 (en) | Free memory page hinting by virtual machines | |
US8990537B2 (en) | System and method for robust and efficient free chain management | |
Lim et al. | Virtual memory partitioning for enhancing application performance in mobile platforms | |
Qin et al. | Nuka: A generic engine with millisecond initialization for serverless computing | |
US20140149691A1 (en) | Data processing system and data processing method | |
US20210191776A1 (en) | Resource Management Unit for Capturing Operating System Configuration States and Memory Management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141029 |
|
WD01 | Invention patent application deemed withdrawn after publication |