linux内存、负载相关的操作
创始人
2024-09-25 21:48:36

查看内存使用情况

free:显示系统的内存使用情况,包括物理内存和交换空间(swap)。

  • 示例:free -h(以人类可读的格式显示内存使用情况)

top:实时显示系统的进程及其资源使用情况,包括内存。

  • 在 top 界面中,可以查看各进程的内存占用。

htop:一个增强版的 top,提供更友好的用户界面。

  • 使用命令:htop(如果未安装,可以通过包管理器安装)

内存分配和释放

malloc 和 free:在编程中,使用 C 语言等语言中的这两个函数进行动态内存分配和释放。

8 示例(C 代码):

int *ptr = (int *)malloc(sizeof(int) * 10); // 分配内存 free(ptr); // 释放内存 

监控内存使用

vmstat:报告虚拟内存统计信息。

  • 示例:vmstat 1(每秒更新一次内存使用情况)

/proc/meminfo:查看系统内存信息文件,包含详细的内存使用数据。

  • 示例:cat /proc/meminfo(查看内存信息)

交换空间管理

swapon:启用交换空间。

  • 示例:sudo swapon /swapfile(启用指定的交换文件)

swapoff:禁用交换空间。

  • 示例:sudo swapoff /swapfile(禁用指定的交换文件)

mkswap:创建交换空间。

  • 示例:sudo mkswap /swapfile(在指定文件上创建交换空间)

优化和调整内存使用

sysctl:用于查看和修改内核参数,包括内存管理相关的设置。

  • 示例:sysctl vm.swappiness(查看交换空间的使用策略)

echo:通过 /proc/sys/vm/swappiness 修改交换空间使用策略。

  • 示例:echo 10 | sudo tee /proc/sys/vm/swappiness(将 swappiness 设置为 10)

查看进程的内存使用

ps:查看进程的内存使用情况。

  • 示例:ps aux --sort=-%mem(按内存使用情况排序显示进程)

pmap:查看进程的内存映射。

  • 示例:pmap (查看指定 PID 的内存映射)

内存泄漏检查

valgrind:一个用于内存调试、内存泄漏检测和性能分析的工具。

  • 示例:valgrind --leak-check=full ./your_program(检查程序的内存泄漏)

查看系统负载

uptime:显示系统运行时间、当前时间、登录用户数以及系统负载(1分钟、5分钟、15分钟的平均负载)。

  • 示例:uptime

top:实时显示系统的进程及其资源使用情况,包括负载平均值。

  • 使用:直接输入 top 命令,负载平均值显示在顶部。

htop:一个增强版的 top,提供更友好的用户界面。

  • 使用:输入 htop(如果未安装,可以通过包管理器安装)。

vmstat:报告虚拟内存、进程、CPU活动和系统负载等信息。

  • 示例:vmstat 1(每秒更新一次)

监控特定进程

ps:查看当前系统中正在运行的进程及其 CPU 和内存使用情况。

  • 示例:ps aux --sort=-%cpu(按 CPU 使用率排序显示进程)

pidstat:显示特定进程的 CPU 和内存使用情况。

  • 示例:pidstat 1(每秒显示进程统计信息)

查看负载历史

sar:使用系统活动报告工具,可以查看历史负载情况。需要安装 sysstat 软件包。

  • 示例:sar -q(显示系统负载平均值)

查看负载分布

iostat:显示 CPU 使用情况和 I/O 设备的负载情况。

  • 示例:iostat -x 1(每秒显示详细的 I/O 统计信息)

dstat:结合了 vmstat、iostat 和 netstat 的功能,可以实时查看系统资源的使用情况。

  • 示例:dstat(实时显示各种资源的使用情况)

调整负载

nice:以特定优先级运行程序,调整 CPU 资源分配。

  • 示例:nice -n 10 command(以优先级 10 运行命令)

renice:改变运行中的进程的优先级。

  • 示例:renice -n 5 -p (将指定 PID 的进程优先级设置为 5)

负载测试

stress:用于生成负载,测试系统的稳定性。

  • 示例:stress --cpu 4 --timeout 30(使用 4 个 CPU 核心进行 30 秒的负载测试)

ab(Apache Benchmark):用于测试 HTTP 服务器的负载能力。

  • 示例:ab -n 1000 -c 10 http://localhost/(向本地服务器发送 1000 次请求,10 个并发)

记录和分析负载

sar:收集并报告系统负载情况。

  • 示例:sar -u 1 3(每秒显示 CPU 使用情况,共显示 3 次)

相关内容

热门资讯

原创 中... 在阅读文章前,辛苦您点下“关注”,方便讨论和分享。作者定会不负众望,按时按量创作出更优质的内容 文...
影石创新遭巨头“密集攻击”?刘... 来源:市场资讯 (来源:达摩财经) 影石创新日前正式发布全球首款全景无人机“影翎Antigravi...
欧盟调查谷歌利用网络内容支持A... 新华社布鲁塞尔12月9日电(记者丁英华 张兆卿)欧盟委员会9日宣布,对美国谷歌公司利用网络内容为其人...
圣奥化学公布新型绿色防老剂SA... 来源:市场资讯 (来源:中国化工信息周刊) 关键词 | 圣奥化学SA6000开发进展 共 1064字...
人工智能也有“真香定律”!从科... 潮新闻客户端 记者 谢春晖 通讯员 姜慧君 方临明 人工智能浪潮奔涌。从率先布局抢占赛道先机,到...