计算化学公社

标题: 内存较小的笔记本电脑跑CP2K的实用攻略——清理内存缓存和设置并行数量 [打印本页]

作者
Author:
missfox    时间: 6 day ago
标题: 内存较小的笔记本电脑跑CP2K的实用攻略——清理内存缓存和设置并行数量
      在学习计算软件的过程中,安装相关软件是必不可少的。而CP2K作为主流的选择之一,有很多人都会在自己的电脑上下载。但相信阅读本文的相当一部分人由于条件限制,只能在自己的笔记本电脑上下载该软件,而CP2K又相对比较吃内存(笔者在安装的过程中因为内存问题安装失败了好几次),最后得到了他人帮助,清理了我电脑中的内存缓存才得以成功。而这个方法笔者认为较为实用,尤其对于小内存的轻薄本而言(虽然预算足够还是建议换游戏本或者台式机爽一些,但是毕竟预算有限)。
       首先这是笔者电脑的配置:
             型号:RedmiBook Air 13
             系统:Windows 11 家庭中文版
             内存:16G
             物理内核:4核
             逻辑内核:8核
             CP2K版本:2025.1
             Linux系统发行版:Debian
       可能这个配置真的比较拉垮吧(毕竟4年前买的了,还是轻薄本),最近笔者刚开始学习计算化学,这个内存确实有一点捉襟见肘了。而WSL默认使用全部的逻辑核,性能并不好,所以电脑如果内存不太够的话一般建议设置成4核,具体在安装时编译CP2K本体对应部分代码如下:(整个安装过程参考帖子 : cp2k-2025.1在Debian-wsl2中的安装(附所需所有第三方库 )http://bbs.keinsci.com/forum.php mod=viewthread&tid=51888&fromuid=81945 (出处: 计算化学公社) )
  1. make ARCH=local VERSION="ssmp psmp" -j4
复制代码
       其中j后面的4代表同时编译4个文件,这里的参数一般设置成4就OK(4核并行),这样相对而言比较稳定,最后笔者的电脑CP2K也安装成功。        而除此之外,对于内存较小的轻薄本而言,我们还需要清理内存缓存以腾出更多空间。我们可以先开一个root账号(如果没有的话),这个可以自己上网找,很简单
        在开了root账号之后,我们登录进去可以输如下代码:
  1. echo 3 > /proc/sys/vm/drop_caches
复制代码
       这行代码可以用来清除内存缓存(内存缓存可以输入top之后查看buff/cache前的数据,代表有这么多M的数据作为缓存可以清理),防止内存占比太大导致程序跑不动。
        最后提醒:内存不够的玩家记得一定要及时清理内存缓存!

作者
Author:
sobereva    时间: 6 day ago
无论内存够不够,都建议只用物理核心数,下文说了
正确认识超线程(HT)技术对计算化学运算的影响
http://sobereva.com/392

CP2K对内存的消耗严重取决于任务。CP2K即便是靠MPI并行的popt版,跑半经验级别和纯泛函的单点、优化任务也耗不了多少内存(除非体系真的巨大)

WSL默认使用全部的逻辑核
这不是WSL层面的事。默认用多少核是实际程序层面的事。popt版默认用单核,ssmp版默认用所有逻辑核心靠OpenMP并行。make如果写-j默认用所有逻辑核心编译。

安装的过程中因为内存问题安装失败了好几次
我倒没听说过因为16GB内存不够而CP2K安装都失败的。正常情况下CP2K编译过程耗不了什么内存。

很多常识在下文都有说明
CP2K第一性原理程序在Linux中的安装方法
http://sobereva.com/586http://bbs.keinsci.com/thread-21608-1-1.html


作者
Author:
Satoru    时间: 6 day ago
对于现代的操作系统,buff/cache的内存占用几乎是不需要手动清理的,当系统可用内存不够的时候会自动把cache的东西清掉
作者
Author:
missfox    时间: 5 day ago
Satoru 发表于 2025-8-16 22:22
对于现代的操作系统,buff/cache的内存占用几乎是不需要手动清理的,当系统可用内存不够的时候会自动把cach ...

非常感谢,可能是我电脑内存本身太小加上当时cp2k安装已经占了很多内存的原因,手动清理会快一点




欢迎光临 计算化学公社 (http://ccc.keinsci.com/) Powered by Discuz! X3.3