有什么办法可以一键统计 vscode 占用的内存?

一个 vscode 有好多进程

图片.png

怎么一键统计 vscode 占用的内存呢?

阅读 2.6k
1 个回答

当然可以,调用系统命令tasklist就可以做到,在VSCode中打开终端,直接手动输入tasklist,和任务管理器类似,找到VSCode的进程,然后指令tasklist /FI就可以查看。这个方法手动相对有点麻烦,所以你也可以使用hexeditor这个插件装在vs上,也可以做到类似的。

https://mh-nexus.de/en/hxd/
MiniShotHxD.png

当然,如果你想显得更酷,那就直接上代码把:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main() {
    FILE *fp;
    char line[256];
    int totalMemory = 0;
    
    // 打开任务管理器或者活动监视器,并将输出结果重定向到临时文件
    system("tasklist /FI \"IMAGENAME eq code.exe\" /FO CSV > temp.csv");
    
    // 读取临时文件,统计内存占用
    fp = fopen("temp.csv", "r");
    if(fp == NULL) {
        printf("无法打开文件\n");
        return 1;
    }

    // 跳过首行标题
    if (fgets(line, sizeof(line), fp) == NULL) {
        printf("读取文件失败\n");
        return 1;
    }
    
    // 读取每一行数据,并提取内存占用
    while(fgets(line, sizeof(line), fp) != NULL) {
        char *token;
        int i = 0;

        /* 跳过每一行数据中的前两个字段 */
        token = strtok(line, ",");
        while (token != NULL && i < 2) {
            token = strtok(NULL, ",");
            i++;
        }
        
        // 提取内存占用的部分并累加到总内存
        if (token != NULL) {
            totalMemory += atoi(token);
        }
    }
    
    fclose(fp);
    
    // 输出总内存占用
    printf("VSCode的内存占用为:%d KB\n", totalMemory);
    
    // 删除临时文件
    remove("temp.csv");

    return 0;
}

(备注:这个代码没有什么高端的地方,只是将我回答中提到的第一种方法用代码形式实现了一遍)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏