V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
waylybaye
V2EX  ›  分享创造

Swapman: 开源的 M1 Macbook 交换分区分析应用

  •  4
     
  •   waylybaye · 2021-02-24 22:22:21 +08:00 · 5791 次点击
    这是一个创建于 1396 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我昨天也被 M1 SSD 的写入量震惊了,平均每天要写 750G ! 看到这个数据后我就特别想知道我日常使用中,到底是哪些应用在被疯狂的 swap,以此来改善下工作习惯。

    由于没找到合适的分析工具,就花了俩小时自己动手写了一个。 https://github.com/waylybaye/Swapman

    screenshot

    统计了后才发现基本是浏览器和开发工具特别是 Xcode 一直在被切来切去。就改了下自己的使用习惯:不用 Chrome,代码写完就关掉开发工具,现在好了很多。

    36 条回复    2022-06-15 17:43:41 +08:00
    QingStone
        1
    QingStone  
       2021-02-24 22:45:14 +08:00 via iPhone   ❤️ 1
    硬核大佬!
    shoaly
        2
    shoaly  
       2021-02-24 22:52:18 +08:00   ❤️ 11
    不用 chrome 关掉 xcode , 这 mac 用起来太卑微了
    justin2018
        3
    justin2018  
       2021-02-24 22:52:51 +08:00   ❤️ 1
    硬核大佬!
    ddllzz
        4
    ddllzz  
       2021-02-24 23:11:04 +08:00 via Android   ❤️ 1
    八爷牛逼
    DingSoung
        5
    DingSoung  
       2021-02-24 23:18:57 +08:00 via iPhone
    不应 Xcode 怎么写代码 不是 iOS 开发吗
    LadyChunsKite
        6
    LadyChunsKite  
       2021-02-24 23:26:11 +08:00 via iPhone
    这样用的不憋屈吗?小心翼翼的,生怕它不高兴,跟个舔狗似的。
    我一个用户居然要去揣摩工具的行为?
    bkmi
        7
    bkmi  
       2021-02-24 23:50:21 +08:00 via Android
    750G 都是 Swap 产生的读写吗
    ShuoHui
        8
    ShuoHui  
       2021-02-24 23:51:27 +08:00 via iPhone   ❤️ 1
    八爷 6😜快去继续写赚钱项目啊哈哈哈哈
    waylybaye
        9
    waylybaye  
    OP
       2021-02-25 00:12:38 +08:00
    > @shoaly 不用 chrome 关掉 xcode , 这 mac 用起来太卑微了
    没办法,肯定没法像 32G 内存那样用,不能开太多进程。

    > @DingSoung 不应 Xcode 怎么写代码 不是 iOS 开发吗
    写完就关掉 Xcode 和模拟器,下次用时再打开。
    waylybaye
        10
    waylybaye  
    OP
       2021-02-25 00:16:15 +08:00
    @LadyChunsKite 买 M1 就做好当小白鼠的准备了,性能提升和其它方面提升也是显而易见的。

    @bkmi 不一定,但至少 90% 是 swap 产生的。

    @ShuoHui 😂不搞小项目了,专心赚钱(
    jimliang
        11
    jimliang  
       2021-02-25 00:17:59 +08:00
    好东西,mac 的内存管理太坑爹了,16g 内存只用了 8g 就开始频繁 swap 了。
    shoaly
        12
    shoaly  
       2021-02-25 00:25:37 +08:00
    @waylybaye 恩 , 我理解安心用, 等下个版本修复咯, 大概率还是系统 bug 造成的
    noqwerty
        13
    noqwerty  
       2021-02-25 00:30:17 +08:00 via Android   ❤️ 1
    每次苹果相关的帖子下面都有阴阳怪气的,人家乐意这么用,卑微也写出来熊猫吃短信了,你不憋屈写出来啥了?
    uhian
        14
    uhian  
       2021-02-25 00:40:10 +08:00
    @waylybaye 点了 1000 次 star,能换 ServerCat 高级版打折么?🐶
    autoxbc
        15
    autoxbc  
       2021-02-25 01:33:29 +08:00
    这个事的威力还得等一年后乞丐版出二手时才能看出来
    hewigovens
        16
    hewigovens  
       2021-02-25 05:05:30 +08:00 via iPhone
    nailuoGG
        17
    nailuoGG  
       2021-02-25 08:32:00 +08:00
    大头主要是 Chrome 和 WebStorm 。关掉不用的标签页+调低 WebStorm 的内存后,swap 少了很多
    spacedebris
        18
    spacedebris  
       2021-02-25 08:48:51 +08:00
    我的理解 swap out 才是写入 ssd,swap in 应该是从硬盘 swap 分区中读取写入 ram 吧?
    Nitroethane
        19
    Nitroethane  
       2021-02-25 09:02:51 +08:00 via iPhone
    @spacedebris 不管是读 ssd 还是写 ssd 有什么区别么,都是在损耗硬盘呢。

    我怎么觉得这使用习惯像是在掩耳盗铃。除非精确控制让 Xcode 和 Chrome,让它们不要使用过多内存以触发使用 swap,否则每一次关闭应用必会触发脏页的回写以及 swap file 的释放,每次打开应用的时候还要从硬盘重新加载一次。
    fuwu1245
        20
    fuwu1245  
       2021-02-25 09:10:33 +08:00
    需要用 Root 用户运行么?
    spacedebris
        21
    spacedebris  
       2021-02-25 09:12:52 +08:00
    @Nitroethane ssd 读取不影响寿命
    waylybaye
        22
    waylybaye  
    OP
       2021-02-25 12:17:46 +08:00
    @uhian 哈哈,能点 1000 个 star 的话我直接送你几个 😂

    @nailuoGG 装了一个自动关闭长时间不用的标签页的插件也能好很多
    waylybaye
        23
    waylybaye  
    OP
       2021-02-25 12:19:46 +08:00
    @spacedebris swap out 应该是只有 kernel_task 能做,它发现哪个进程暂时不太重要就会挪到 swap 里,进程再次激活时如果有 swap in 就说明被 swap 了。

    @fuwu1245 需要 root
    Yien
        24
    Yien  
       2021-02-25 12:21:38 +08:00 via iPhone
    膜拜大佬
    spacedebris
        25
    spacedebris  
       2021-02-25 13:26:44 +08:00
    @waylybaye 那 swap in 高也不一定是写入多,也有可能是对 swap 的利用效率高了
    loading
        26
    loading  
       2021-02-25 13:32:18 +08:00 via Android
    何必限制自己使用呢?
    q1angch0u
        27
    q1angch0u  
       2021-02-25 13:39:19 +08:00
    熊猫吃短信就是您写的呀!!!
    alexzuo
        28
    alexzuo  
       2021-02-25 14:36:33 +08:00
    主要是用 clion 和 pycharm,浏览器用 Safari,确实硬盘写入没那么多
    byte10
        29
    byte10  
       2021-02-25 16:07:44 +08:00
    @shoaly 可以使用火狐,火狐很好用,国内也可以有账号同步,谷歌的不行。要 FQ.
    maemolee
        30
    maemolee  
       2021-02-25 16:16:44 +08:00
    intel 核心的 mac 用户下载试了一下发现没法启动监控……提示 fs_usage must be run as root
    systemcall
        31
    systemcall  
       2021-02-25 16:33:01 +08:00
    感觉还不如让它用 swap 用的更频繁,在保修期内就坏掉。这样就可以无限续杯,需要的就只是一个提醒用户 SSD 快写废了的程序
    autoxbc
        32
    autoxbc  
       2021-02-25 22:43:34 +08:00
    @systemcall #31 SSD 写废肯定是有限保修的例外条款,这是业界共识
    systemcall
        33
    systemcall  
       2021-02-26 01:30:04 +08:00
    @autoxbc #32
    没看到以整机出售的电脑里面提到这种例外的
    再说了,以前用机械硬盘的时候根本没有写入量的问题,读和写对硬盘的伤害是类似的( SMR 除外,但是当时民用的产品也没有 SMR )。三包法又没有跟着改
    而且 SSD 写废的电脑并不少,很多卖出去的电脑用者白片或者黑片或者 n 手拆机,写入量一上去 FTL 挂掉了或者是闪存报废的多得是,之前看到的数据,有些整机用的 SSD 返修率达到了 10 几%。开了这个口子的话,数量上占据绝对优势的垃圾 SSD 肯定会肆无忌惮的装在大部分的电脑上
    只有单独出售的 SSD 才有这种限制。甚至你买个 U 盘写废了也不算违背了什么条款,厂家也确实需要保修,当然这种东西可能会限制不能在 7x24 的情况下使用,不过这又是后话了
    Tink
        34
    Tink  
       2021-02-27 23:19:31 +08:00
    @waylybaye #23 只能在终端内通过 sudo 来启动吗?还有什么办法木有
    najunuoyan
        35
    najunuoyan  
       2022-06-09 18:08:23 +08:00
    今天刚注意到非 m1 的 32Gmac 写入量也超大,准备用楼主的工具监控几天看看到底哪个是大户,到时候给大家汇报一下
    najunuoyan
        36
    najunuoyan  
       2022-06-15 17:43:41 +08:00
    看了一下,chrome,wps 和公司内部的 IM 软件都比较大,现在已经把 swap 关闭了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2218 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 01:48 · PVG 09:48 · LAX 17:48 · JFK 20:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.