常用 free free -k # 以KB为单位 free -m # 以MB为单位 free -g # 以GB为单位 free -h # 人类可读 输出 total used free shared buffers cached Mem 3856200 3321044 535156 251096 232084 1406376 -/+ buffers/cache 1682584 2173616 Swap 3999740 482480 3517260 total
本文介绍linux内存机制、虚拟内存swap、buffer/cache释放等原理及实操。
# uname -a # 查看内核/操作系统/CPU信息
我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。
我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。 物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。 作为物理内存的扩展,linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。 Linux的内存管理采取的是分页存取机制,为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内存中,而将经常使用的信息保留到物理内存。
内存的管理和优化是系统性能优化的一个重要部分,内存资源的充足与否直接影响应用系统的使用性能。在进行内存优化之前,一定要熟悉Linux的内存管理机制,这里我们重点探讨如何通过系统命令监控Linux系统的内存使用状况。
最近线上环境上出现了一个问题, k8s集群环境Pod中的tomcat容器运行一段时间后直接被killd,但有时一切看起来正常,不能准确判断在什么时机出现被Killd问题。
用于查看 Linux 文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。如:
在 Linux 操作系统中,内存是一个关键资源,用于存储正在运行的程序和操作系统本身的数据。如果系统的内存使用量过高,可能会导致性能下降、应用程序崩溃或者系统崩溃。因此,了解如何检查 Linux 内存使用量是否耗尽是非常重要的。下面是一些常用的方法,可以帮助您检查 Linux 内存使用量是否耗尽。
硬件查看命令 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # cat /proc/version # 查看操作系统详情信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境
jstat用法 其中-gc可以换成-class 、-gcnew、-gcold等参数;而54992表示的JVM的进程id(可能通过上面的jps命令查看) ;4s表求每4秒打印一次,后面的3表求共打印三次。 打印的各参数含义如下: 1:S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used) 2:EC、EU:Eden区容量和使用量 3:OC、OU:年老代容量和使用量 4:MC、MU:元数据区容量和使用量 5:CCSC、CCSU:压缩类空间容量和使用量 5:YGC、YGT:年轻代GC次数和GC耗时 6:FGC、FGCT:Full GC次数和Full GC耗时 7:GCT:GC总耗时 jstat可以用来判断系统是否出现了内存泄漏,方法是通过一短长时间的观察OU的增长情况,如果OU稳定增长,则有可能出现内存泄漏。
在服务器运维过程中,经常需要对服务器的各种资源进行监控,例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出现异常时及时报警,通知系统管理员。本文介绍在Linux系统下几种常见的监控需求及其shell脚本的编写。
狭义的虚拟内存是分页文件pagingfile,通过SystemPropertiesPerformance.exe /pagefile命令设置pagingfile大小
在使用 Linux 系统的过程中,我们经常需要查看系统、资源、网络、进程、用户等方面的信息,查看这些信息的常用命令值得了解和熟悉。 1,系统信息查看常用命令如下:
一般 Unix 系统中,用户态的程序通过malloc()调用申请内存。如果返回值是 NULL, 说明此时操作系统没有空闲内存。这种情况下,用户程序可以选择直接退出并打印异常信息或尝试进行 GC 回收内存。然而 Linux 系统总会先满足用户程序malloc请求,并分配一片虚拟内存地址。只有在程序第一次touch到这片内存时,操作系统才会分配物理内存给进程。具体我们可以看下如下demo:
2、cat /etc/redhat-release,这种方法只适合 Redhat 系的 Linux:
通过上篇文章的学习,我们学会了如何查看当前 cgroup 的信息,如何通过操作 /sys/fs/cgroup 目录来动态设置 cgroup,也学会了如何设置 CPU shares 和 CPU quota 来控制 slice 内部以及不同 slice 之间的 CPU 使用时间。本文将把重心转移到内存上,通过具体的示例来演示如何通过 cgroup 来限制内存的使用。
用free监控内存free是监控linux内存使用状况最常用的指令,看下面的一个输出
linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有必要的! 下面给除了各linux发行版比较常用的系统信息查询的命令, 大家可以参考, 同时也可以测试学习, 必要的时候man, 一定要学学使用man命令, 呵呵 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /pro
在日常的服务器管理和问题诊断过程中,Linux 命令行工具提供了强大的支持。本文通过几个常用的示例,介绍如何快速定位问题、监控服务器性能。
其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理CPU
日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与邮件相关的日志信息 /var/log/cron 与定时任务相关的日志信息 /var/log/spooler 与UUCP和news设备相关的日志信息 /var/log/boot.log 守护进程启动和停止相关的日志消息 系统: # uname -a # 查看内核/操作系统/
2、# cat /proc/version (Linux查看当前操作系统版本信息)
另: cat /etc/redhat-release #查看系统版本 uname -r #查看系统内核版本 uname -m #查看系统是否64位
# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
Linux系统需要定期巡检,以检查服务器软硬件使用情况,相当于对人的体检,确保可以及时发现问题、解决问题,降低损失,常用的巡检命令如下:
Linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有必要的!
快速提问:你的驱动器剩余多少剩余空间?一点点还是很多?接下来的提问是:你知道如何找出这些剩余空间吗?如果你碰巧使用的是 GUI 桌面( 例如 GNOME、KDE、Mate、Pantheon 等 ),则任务可能非常简单。但是,当你要在一个没有 GUI 桌面的服务器上查询剩余空间,你该如何去做呢?你是否要为这个任务安装相应的软件工具?答案是绝对不是。在 Linux 中,具备查找驱动器上的剩余磁盘空间的所有工具。事实上,有两个非常容易使用的工具。
#cat /proc/cpuinfo | grep “physical id” | uniq | wc -l
前言: 在虚拟化场景下,libvirt会为每个qemu进程,也就是一台虚拟机,创建对应的cgroup,用来限制这台虚拟机的资源使用。这章讨论一下cgroup对内存的限制、回收能力对虚拟机的影响。 Centos7使用Linux 3.10。Ubuntu1604使用Linux 4.4。这章主要分析这两个版本的kernel的能力对比。 分析: 1,使用场景 在内存复用的场景下,会使用到cgroup的内存限制能力。举例来说,Host上有内存32G,每台Guest分配4G,那么可以启动8台Guest。如果内存超分配
本文为大家分享了Linux查看系统配置常用命令,供大家参考,具体内容如下 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核
时间在回到一周前,测试跑过来跟我说:压测500w同步数据失败了。我保持以往的态度,莫慌莫慌,多大点事儿,然后打开运行日志,然后一看居然是内存不足,如下图:
在 Linux 系统中,磁盘空间管理是一项至关重要的任务。了解系统上各个文件和目录所占用的磁盘空间,能够帮助我们及时进行磁盘清理、规划存储空间以及避免系统因为磁盘空间不足而发生故障。本文将详细介绍 Linux 中两个常用的命令:df 和 du,它们是分析磁盘空间的利器。
系统维护时随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 linux 中,可以通过 top 命令来查看 CPU 使用状况。关于 top 命令的详细说明请参看 使用top命令分析linux系统性能的详解 这篇文章。
为了支持这些特性,Linux namespace 实现了 6 项资源隔离,基本上涵盖了一个小型操作系统的运行要素,包括主机名、用户权限、文件系统、网络、进程号、进程间通信。
Linux内存清理:绝大多数情况下都不需要此操作,因为cache的内存在需要的时候是可以自动释放的~
我们组的实时数仓项目(二期:Flink SQL指标计算)进入上线阶段。所以,最近的推文我会持续更新一些线上问题排查的实战经验和思路,并尽量针对一类相似或者关联问题所涉及的关键点进行总结,抽出一些方法论分享给大家,感谢支持^^
按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。
kubectl top 可以很方便地查看node、pod 的实时资源使用情况:如CPU、内存。这篇文章会介绍其数据链路和实现原理,同时借 kubectl top 阐述 k8s 中的监控体系,窥一斑而知全豹。最后会解释常见的一些问题:
使用free命令可以查看系统的内存使用情况,包括总内存、已用内存、空闲内存等信息。
本篇已加入《.NET Core on K8S学习实践系列文章索引》,可以点击查看更多容器化技术相关系列文章。本篇会介绍几个目前比较常用且流行的容器监控工具,首先我们来看看Docker自带的几个监控子命令:ps、top以及stats,然后是一个功能更强的开源监控工具Weave Scope。
3.cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)
ifconfig命令用于获取网卡配置与网络状态等信息,英文全称为“interface config”,语法格式为“ifconfig [参数] [网络设备]”。
之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令。 也可以帮助自己在以后的工作中快速的排查线上问题。
内存问题,脑瓜疼脑瓜疼。脑瓜疼的意思,就是脑袋运算空间太小,撑的疼。本篇是《荒岛余生》系列第三篇,让人脑瓜疼的内存篇。其余参见:
/proc/PID/smaps 文件是基于 /proc/PID/maps 的扩展,他展示了一个进程的内存消耗,比同一目录下的maps文件更为详细。
与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。
作为一个日常在Linux环境下工作的工程师,每天都要大量使用Linux命令行。有时候我们会在网上翻查命令行的使用技巧,但是一旦未能及时进行练习,很快就会把这些小技巧给忘了。所以我决定把这些小东西整理一
S0C S1C S0U S1U => S0和S1的总量与使用量 EC EU => Eden区总量与使用量 OC,OU => Old区总量与使用量 MC,MU => Metspace区总量与使用量 CCSC CCSU => 压缩类空间总量与使用量 YGC YGCT => YoungGC的次数与时间 FGC FGCT => FullGC的次数与时间 GCT => 总的GC时间
领取专属 10元无门槛券
手把手带您无忧上云