V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FaiChou
V2EX  ›  程序员

windows 系统有什么工具可以手动释放内存?

  •  
  •   FaiChou ·
    FaiChou · 2020-09-17 11:01:32 +08:00 · 8451 次点击
    这是一个创建于 1533 天前的主题,其中的信息可能已经有所发展或是发生改变。

    除了 360 等助手, 有没有什么开源绿色的工具来清理空间?

    第 1 条附言  ·  2020-09-17 11:59:50 +08:00
    这个问题没有描述清楚, 导致很多朋友理解错了.
    我写这个问题在两分钟以内, 没有认真审查, 当我想改时候, 发现已经有 3 条答案了, 就没有再次编辑.

    我想解决的问题是: 「 messenger for desktop 」这个软件里有上千位好友(Facebook 好友满了, 5000 位好友), 聊天的内容也比较多比较丰富, 进行搜索时候经常卡住, 所以考虑是不是内存问题导致. 于是又想到了, 很久之前(大学期间)用过 Windows 使用过一些加速软件, 现在想有没有什么工具可以加速下. 明知 360 等清洁工具非常讨厌, 所以从来不装这些工具.
    easonHHH
        1
    easonHHH  
       2020-09-17 11:02:06 +08:00
    任务管理器?
    lovecy
        2
    lovecy  
       2020-09-17 11:05:15 +08:00
    Ctrl + Shift + Esc
    Mithril
        3
    Mithril  
       2020-09-17 11:09:41 +08:00   ❤️ 15
    为什么要释放内存?
    内存空着也不会给你省下来电费。
    内存满了会自动交换到硬盘。
    正常情况系统会把空闲内存拿来做缓存。
    为什么没有绿色开源工具做这个?因为只有 360 这种娱乐工具才会觉得内存一定要释放。
    没事总要清理内存是病,得治。
    FaiChou
        4
    FaiChou  
    OP
       2020-09-17 11:14:29 +08:00
    @Mithril #3 好久没用 windows, 给对象配了一台 windows, 她的 Messenger 有好几千个好友聊天记录, 每次进行聊天搜索时候, 就特别卡, 想手动释放一下可以被释放的内存, 当然也怪我当初没有选择更大的内存..

    我大学时候可能养成的习惯, 那时候用 Windows 就觉得释放下内存会有「更快」的感觉.

    你说的「没事总要清理内存是病,得治。」我就当开玩笑了.
    ipixeloldc
        5
    ipixeloldc  
       2020-09-17 11:17:08 +08:00 via iPhone
    聊天搜索卡,也可能是硬盘太烂了啊( 4k 速度不行)
    SimonOne
        6
    SimonOne  
       2020-09-17 11:17:12 +08:00   ❤️ 2
    @FaiChou #4 你俩说的内存好像不是一个东西
    wangkun025
        7
    wangkun025  
       2020-09-17 11:17:34 +08:00   ❤️ 1
    加内存条呗。
    硬盘换成固态的。
    threebr
        8
    threebr  
       2020-09-17 11:19:33 +08:00   ❤️ 1
    @FaiChou 卡是因为从硬盘读取聊天记录很慢吧,你看看搜索的时候内存占用上 80%了吗?没有的话换一块好点的 ssd 才是正解
    ipixeloldc
        9
    ipixeloldc  
       2020-09-17 11:19:45 +08:00 via iPhone
    @ipixeloldc 不对,我犯蠢了,无视我,和 4k 速度无关
    shijingshijing
        10
    shijingshijing  
       2020-09-17 11:21:52 +08:00   ❤️ 3
    我用的一款开源的,还不错:

    Mem Reduct

    https://github.com/henrypp
    Mithril
        11
    Mithril  
       2020-09-17 11:23:32 +08:00   ❤️ 4
    @FaiChou 没用的,你那个是错觉。一般这种软件的原理就是申请一大块内存,把操作系统那些缓存挤掉。然后再释放掉让你觉得内存可用空间变大了。但是缓存清掉你下次再用到这些内容就得重新从硬盘加载进来,实际上你总清理内存会导致系统运行的更慢。
    内存这东西,空着才是浪费。
    你这种情况要么换大内存,要么换固态。这种大规模搜索又没索引就得把数据都从硬盘折腾到内存一遍,除非你内存足够大到一次性能缓存所有聊天记录,不然换固态效果会更好一些。
    如果已经用了固态,就别折腾了。还是换软件吧。这属于软件设计问题。
    FaiChou
        12
    FaiChou  
    OP
       2020-09-17 11:23:34 +08:00
    @SimonOne #6 我和几楼说的内存不是一个东西? 是指什么?


    @wangkun025 #7 我也不知道能不能加.. 我直接买了俩 NUC


    @ipixeloldc #5 情况太特殊了, Messenger 好友太多, 聊天记录也很多..
    shijingshijing
        13
    shijingshijing  
       2020-09-17 11:24:40 +08:00   ❤️ 1
    #10 补充一下,我主要是用了 RAM Disk,把 Chrome 的 User Data 文件夹丢在 RAM Disk 里面了,Chrome 的那个读写量很担心现在 TLC 的 SSD 怕是撑不住。

    迅雷下载文件夹也放在 RAM Disk 里面,下载完了一次性拷贝出来。
    iyg429
        14
    iyg429  
       2020-09-17 11:24:43 +08:00
    直接上最大内存 ,
    saytesnake
        15
    saytesnake  
       2020-09-17 11:27:38 +08:00
    好像到了 8.1 时代就没关注过啥释放内存之类的东西了。
    Osk
        16
    Osk  
       2020-09-17 11:28:11 +08:00 via Android
    微软的 sysinternal rammap 可以暴力释放内存,然而越释放越卡,2333...
    keepeye
        17
    keepeye  
       2020-09-17 11:30:10 +08:00   ❤️ 1
    标题说是内存,正文说是空间?傻傻分不清,就不回答了
    SimonOne
        18
    SimonOne  
       2020-09-17 11:33:45 +08:00
    @FaiChou #12 能看出来你也用的 V2EX plus,所以你可以移到 @看到我回你的楼层。所以指的是 3 楼和你啊。

    搜索聊天记录慢是因为硬盘读取慢吧。
    ysc3839
        19
    ysc3839  
       2020-09-17 11:34:40 +08:00   ❤️ 2
    关闭不需要的程序。
    你说的那些“清理内存”的工具,本质上是让系统把物理内存中的数据移动到硬盘中的页面文件里面,看上去内存占用是少了,但是一旦程序需要使用那部分内存时,又得重新移动到物理内存中,反而会更卡。
    Rheinmetal
        20
    Rheinmetal  
       2020-09-17 11:35:20 +08:00   ❤️ 3
    典型的 XY problem 嘛 直接问如何加快聊天记录搜索速度不就行了?

    重启只留一个程序 排除一下多任务挤占内存
    Win10 的更新 存储感知等功能也会占用 IO 同样是很多卡顿的元凶

    更大内存 更快 cpu 更好的 ssd 通常可以缓解 /解决问题

    但是如果规模太大 算法太烂 的确没啥好办法 能导出的话清理掉一部分老的记录或许可以缓解

    有具体配置和软件信息可以 给出更详细的建议
    titanium98118
        21
    titanium98118  
       2020-09-17 11:39:49 +08:00
    不需要释放内存,如果用起来卡,说明该加内存了.
    如果还在用 hdd,请更换为 ssd.
    FaiChou
        22
    FaiChou  
    OP
       2020-09-17 11:41:07 +08:00
    @keepeye #17 应该听说过内存空间这个词吧.. 不过我的省略让你产生误解, 抱歉
    lovecy
        23
    lovecy  
       2020-09-17 11:43:55 +08:00   ❤️ 1
    #2:Ctrl + Shift + Esc
    #3:「没事总要清理内存是病,得治。」
    其实这个也不算开玩笑,数据在内存里是提升程序运行速度的,你清理了反倒降速,不太懂你要清理什么。
    如果你内存占用过高,应该按我说的打开任务管理器结束一些无用的后台应用(然后关闭一些开机自启的应用和服务)。
    如果只保留了日常应用还是占用高,可能你需要加内存。而且一般人不会关虚拟内存,你内存占用高的时候系统会把部分内存写入硬盘上的分页文件,如果你的硬盘速度跟不上,也会卡,所以硬盘也是卡的一个重要原因。
    FaiChou
        24
    FaiChou  
    OP
       2020-09-17 11:45:28 +08:00
    @SimonOne #18 哦哦, 鼠标放上去就会有回复楼层了. 另外 如何知道某人用了 V2EX plus 呢?

    聊天记录搜索慢 也可能是 app 原因 😄, 用的第三方 Messenger desktop 客户端.
    Dukec
        25
    Dukec  
       2020-09-17 11:45:38 +08:00   ❤️ 3
    Mem Reduct
    https://github.com/henrypp/memreduct
    虽然我觉得现在没什么必要手动清理内存了,除非某个 APP 会内存泄漏。
    whywhywhy
        26
    whywhywhy  
       2020-09-17 11:46:41 +08:00
    @FaiChou 内存空间又是啥,你会把人说晕的,通常说的内存对应的硬件是内存条,文件存储,数据存储,通常目标指的是硬盘。。要不你发个截图也好啊。
    FaiChou
        27
    FaiChou  
    OP
       2020-09-17 11:48:22 +08:00
    @Mithril #11 谢谢普及, 可能软件设计时候没有照顾到几千好友 /每个好友都有很多页聊天记录的情况, 用的是第三方客户端. 另外, 反而觉得用手机进行搜索会特别快.
    lovecy
        28
    lovecy  
       2020-09-17 11:48:53 +08:00   ❤️ 2
    360 拿一个没什么用的功能,UI 做好看一点给你一种清理垃圾后畅快的感觉,实际没什么用。
    我这电脑由于内存大但是硬盘还是 hdd 读写很慢,我就搞了 ram disk,关了虚拟内存,现在一跑到 90%以上,开新的程序都会发生内存申请失败的错误,哈哈哈哈,手动关几个软件瞬间又降下来了
    FaiChou
        29
    FaiChou  
    OP
       2020-09-17 11:52:22 +08:00
    @whywhywhy #26 抱歉, 我没必要再杠了, 我的专业知识(和基础理论知识)不如你们丰富, 现在没有从事开发相关工作.
    首先我表达不清楚产生的误解, 但相信这个论坛里大多数都能明白我想指的是什么, 所以要么很多人戾气很重, 要么 Windows 内存清理这一话题太敏感. 总之, 别太计较.
    ifxo
        30
    ifxo  
       2020-09-17 11:54:44 +08:00   ❤️ 1
    提取的一个小工具,可以手动或自动释放
    https://pan.baidu.com/s/1lFzdsSPiz3WwAHOzMSbwfw
    7uv5
    Huelse
        31
    Huelse  
       2020-09-17 12:05:40 +08:00   ❤️ 1
    推荐 memreduct
    https://github.com/henrypp/memreduct/releases

    他还有很多有意思的软件
    https://www.henrypp.org/
    opengps
        32
    opengps  
       2020-09-17 12:17:48 +08:00 via Android   ❤️ 1
    狂开一堆的 chrome 标签,然后关掉
    yveJohn
        33
    yveJohn  
       2020-09-17 12:22:20 +08:00   ❤️ 1
    @shijingshijing Mem Reduct 确实好用,小内存机器神器.不过我自从换了 32G 内存本后就用不上了.哈哈😄
    clf
        34
    clf  
       2020-09-17 12:37:12 +08:00
    搜索卡住,可能是它自身搜索的方式不大行?另外,该清理的聊天历史记录及时清理。
    mercury233
        35
    mercury233  
       2020-09-17 12:43:04 +08:00 via Android
    360 释放内存两个作用,干掉没交钱的应用的后台服务,让正在运行的应用更卡
    zwb9412
        36
    zwb9412  
       2020-09-17 12:49:36 +08:00 via Android
    alert("内存清理成功")
    icyalala
        37
    icyalala  
       2020-09-17 12:59:20 +08:00 via iPhone
    一般来说,内存 /RAM 指那个访问快、断电丢数据的设备,闪存 /磁盘 /Disk 指那个访问稍慢、断电数据还在的设备。从电脑开始接触电子设备的人基本都不会弄混这两个概念。

    智能手机没有磁盘只有闪存,内存和闪存这两个词对没有电脑常识的人来说又容易混淆,然后有人就开始用内存指代闪存、用运行内存指代原来的内存。

    所以当遇到一个人说“内存”的时候,一定要先弄清楚他想表达的是什么…
    SimonOne
        38
    SimonOne  
       2020-09-17 13:06:24 +08:00
    @FaiChou #24 V2EX plus 有一个功能“在回复时自动带上对方的楼层号”,我看到你的回复都带楼层号
    lin07hui
        39
    lin07hui  
       2020-09-17 13:14:17 +08:00
    给一下你电脑的配置信息吧,cpu 、内存、硬盘、操作系统版本
    shijingshijing
        40
    shijingshijing  
       2020-09-17 13:24:07 +08:00
    @yveJohn 我 32G 内存也会用 RAM Disk 划出 16G 的样子伺候 Chrome,Chrome 绝壁是内存泄漏的大户。
    FaiChou
        41
    FaiChou  
    OP
       2020-09-17 13:31:05 +08:00
    @lin07hui #39 买的 NUC 小主机, i7 / 16G / 西数 SN550 500GB / win10
    Mithril
        42
    Mithril  
       2020-09-17 13:33:09 +08:00
    @FaiChou NUC 一般都支持 M2 的 SSD,你可以买个固态换上去。
    16G 普通应用已经够了,用不着再加内存了。
    换个固态硬盘能好很多。
    msg7086
        43
    msg7086  
       2020-09-17 13:33:34 +08:00
    以前的释放内存指的是释放物理内存,也就是强行把正在使用的程序的内存空间塞进硬盘交换文件里,降低程序的响应速度,可以有效降低电脑的运行速度。

    搜索经常卡住为什么会觉得是内存问题?如果是内存坏了,那么你系统会直接崩溃蓝屏。如果是内存不足,你的操作系统会自动帮你进行所谓的「释放内存」,不需要你自己去操心。除非你想要微操内存管理子系统……

    搜索大量内容卡住,那就真的只是「慢」而已。要处理这么多数据,本来就花时间。

    另外,上面也有人说了,避免 XY 问题。想问什么就问什么,不要绕个圈子问。
    FaiChou
        44
    FaiChou  
    OP
       2020-09-17 13:46:54 +08:00
    @Mithril #42 这个 SN550 就是 M.2 的. 我对这些配置不是很清楚, 能用就行, 结果现在用起来好费劲啊, 可能我的场景太罕见了
    FaiChou
        45
    FaiChou  
    OP
       2020-09-17 13:49:36 +08:00
    @msg7086 #43 嗯, 我稍微懂一点这方面知识, 应该是硬盘上的数据取到内存上, CPU 拿去进行搜索等处理, 我看了下配置都不算很低, 所以卡住应该是软件设计问题.
    codehz
        46
    codehz  
       2020-09-17 13:50:59 +08:00
    (现在大数字加速球也是直接干掉进程来加速的(已经不会自欺欺人去“释放内存”了
    whywhywhy
        47
    whywhywhy  
       2020-09-17 13:57:04 +08:00   ❤️ 1
    @FaiChou 你的硬盘是固态硬盘吧,这个配置看不出瓶颈在哪,建议你用任务管理器里的“性能监视器”或者其他第三方工具,多观察一下卡顿的时候到底是哪个硬件撑不住了(内存、CPU 、硬盘)。。

    1.主要要看的是 CPU 占用率,如果卡顿的时候有一个进程持续的占用到一个固定比例(双核就是 50%,四核就是 25%,八核应该是 12.5%),如果持续占用在这个比例,那就是这个程序蠢,一核工作,其他核心围观,遇到这个问题除了升级 CPU 没有任何办法。

    2.然后看内存,是不是这个进程内存占用太高,如果占用的贼高就需要升级内存了

    3.win10 可以看磁盘性能的占用率,也能作为参考,但是看起来你已经是 nvme 硬盘了,没有什么改进的可能

    4.最后还可能是因为数据多,又需要网络获取数据,那自然就慢了,那请你买个贵一点的科学上网服务,网络要畅通。

    内存整理软件在当今时代已经毫无用处,Windows 97 俺们就开始使用内存整理工具,微软不可能是瞎子,二十多年过去了还需要你整理内存。


    结论,你可能对电脑不是太熟悉,不适合自己去诊断问题点,找个老鸟去到你电脑旁帮你看吧,白白了您
    340244120w
        48
    340244120w  
       2020-09-17 14:04:40 +08:00   ❤️ 1
    04 年 256M 内存过来的用户表示,用过的所有内存清理软件里,就国产的 smartram(智能内存整理)有用。

    其他的都是强制申请内存,把其他程序的内存压到虚拟内存,反而降低性能。
    340244120w
        49
    340244120w  
       2020-09-17 14:08:11 +08:00   ❤️ 1
    你描述的问题 和内存多半没关系,就像楼上说的,多半是程序自带的 sqllite 之类的数据查询太慢了
    yolee599
        50
    yolee599  
       2020-09-17 18:07:04 +08:00
    shutdown -r -t 0
    lin07hui
        51
    lin07hui  
       2020-09-17 20:04:57 +08:00   ❤️ 1
    这配置办公还算不错的了,手动释放内存完全没必要。
    你的电脑是买回来就卡还是用久了现在还才卡。

    在使用时出现卡,可以打开系统任务管理器查看 cpu 、内存、硬盘的使用占比,有没有占比高的。
    如果使用占比没问题,那很有可以是内存或硬盘出问题,这时需要使用内存硬盘检测软件工具来检查一下是不是有问题。

    PS.
    1 、小机型散热不好也会卡机;
    2 、驱动程序有没有问题,有没有更新到最新版;
    3 、系统补丁要更新到最新;(我一听到有人说更新补丁后会卡,真无语,哎这是谁开始说的。更新补丁很重要,没坏处);
    4 、使用系统管理软件(如 360 安全卫士、腾讯电脑管家等,虽然讨厌,但它们还是有点用的,如清除流氓软件,检测系统设置等,用完要卸载掉它们,否则它们只会拖慢系统)。
    xwhxbg
        52
    xwhxbg  
       2020-09-17 21:39:50 +08:00
    释放内存从逻辑上讲就无法实现,你如果 kill 进程,那你怎么知道 kill 哪个,让用户选吗?如果只是 flush 到硬盘,释放有啥用呢?
    RouJiANG14
        53
    RouJiANG14  
       2020-09-18 08:58:35 +08:00
    看来 UP 理解的内存和实际的内存并不一致啊。换固态硬盘应该能解决聊天记录读取慢的问题。
    galikeoy
        54
    galikeoy  
       2020-09-18 09:14:20 +08:00
    @FaiChou #29 不,我再来杠一次,你说到的“内存”,“空间”,“内存空间" 等词都产生了误解,
    ----”首先我表达不清楚产生的误解, 但相信这个论坛里大多数都能明白我想指的是什么“
    别人都误解了,还能明白什么?
    ----”所以要么很多人戾气很重“
    这个论坛大多数人都是熟悉电脑的,大家也这样认为。我也不知道你不反思自己提出了 XY 问题,导致网友对你的电脑知识的质疑,反而去说网友戾气很重
    ----”要么 Windows 内存清理这一话题太敏感“
    并没有敏感。。。。
    ----”总之, 别太计较.“
    不好意思,你的回复我看的不开心,就杠了
    missdeer
        55
    missdeer  
       2020-09-18 09:35:21 +08:00
    pkoukk
        56
    pkoukk  
       2020-09-18 10:05:13 +08:00
    内存不需要手动释放。
    如果因为你的聊天记录很多,需要载入到内存里,那么载入的过程中,windows 会把其它进程的内存自动 flush 到硬盘,给当前应用程序挪空间。
    如果你打开任务管理器发现内存满了,那么应该考虑加内存,或者换个设计更优秀的软件
    g00001
        57
    g00001  
       2020-09-18 10:15:40 +08:00
    清理内存原理比较简单,
    用 aardio 写了一下几句代码可以实现:

    import process;
    for prcsEntry in process.each() {
    var h =::Kernel32.OpenProcess(0x1f0fff,false,prcsEntry.th32ProcessID)
    if(h){
    ::Psapi.EmptyWorkingSet(h);
    ::Kernel32.CloseHandle(h);
    }
    }
    LokiSharp
        58
    LokiSharp  
       2020-09-18 11:16:40 +08:00
    写个死循环把内存吃满,冷内存就进硬盘交换区了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5562 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:50 · PVG 14:50 · LAX 22:50 · JFK 01:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.