当前位置: 首页 > news >正文

Linux命令之top、ulimit、free

1、【ulimit命令】

ulimit命令用来限制系统用户对shell资源的访问。

假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档,而假设每个文档的大小有 10M,这时系统的内存资源就会受到巨大的挑战。 而实际应用的环境要比这种假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量,分配堆栈的大 小,CPU 时间,虚拟内存大小,等等,都有非常严格的要求。

资源的合理限制和分配,不仅仅是保证系统可用性的必要条件,也与系统上软件运行的性能有着密不可分的联 系。这时,ulimit 可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式。

ulimit 用于限制 shell 启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进程数据块的大小、Shell 进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU 时间、单个用户的最大线程数、Shell 进程所能使用的最大虚拟内存。同时,它支持硬资源和软资源的限制。

作为临时限制,ulimit 可以作用于通过使用其命令登录的 shell 会话,在会话终止时便结束限制,并不影响于其他 shell 会话。而对于长期的固定限制,ulimit 命令语句又可以被添加到由登录 shell 读取的文件中,作用于特定的 shell 用户。

ulimit(选项)

-a:显示目前资源限制的设定;

-c :设定core文件的最大值,单位为区块;

-d <数据节区大小>:程序数据节区的最大值,单位为KB;

-f <文件大小>:shell所能建立的最大文件,单位为区块;

-H:设定资源的硬性限制,也就是管理员所设下的限制;

-m <内存大小>:指定可使用内存的上限,单位为KB;

-n <文件数目>:指定同一时间最多可开启的文件数;

-p <缓冲区大小>:指定管道缓冲区的大小,单位512字节;

-s <堆叠大小>:指定堆叠的上限,单位为KB;

-S:设定资源的弹性限制;

-t :指定CPU使用时间的上限,单位为秒;

-u <程序数目>:用户最多可开启的程序数目;

-v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。

2、【top命令】

Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。

linux怎样使用top命令查看系统状态


3、【free命令】

free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。

命令格式:

     free [参数]

命令功能:

     free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略

命令参数:

-b  以Byte为单位显示内存使用情况。 

-k  以KB为单位显示内存使用情况。 

-m  以MB为单位显示内存使用情况。

-g   以GB为单位显示内存使用情况。 

-o  不显示缓冲区调节列。 

-s<间隔秒数>  持续观察内存使用状况。 

-t  显示内存总和列。 

-V  显示版本信息。 

转载于:https://www.cnblogs.com/zhangwuji/p/7505978.html

相关文章:

  • 如何画实体关系图
  • HashSet源码分析
  • TCP是如何保证包的顺序传输
  • .Net Remoting常用部署结构
  • 阿里巴巴王坚:数据的价值在于计算
  • mysql 删除单表内多个字段重复的数据
  • linux中分区挂载的解释
  • ubuntu下好用的音乐播放器audacious
  • pip install read time-out
  • 固定资产分类(仅供参考 2005年),
  • 字符串操作练习:星座、凯撒密码、99乘法表、词频统计预处理
  • activiti与spring集成
  • CSS 之怀疑自己的审美 2 (Day50)
  • 哥特式建筑安全系统
  • 未能找到文件“\bin\roslyn\csc.exe”
  • [ JavaScript ] 数据结构与算法 —— 链表
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • CentOS从零开始部署Nodejs项目
  • emacs初体验
  • Git初体验
  • iOS小技巧之UIImagePickerController实现头像选择
  • nodejs调试方法
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 百度地图API标注+时间轴组件
  • 从PHP迁移至Golang - 基础篇
  • 从零开始学习部署
  • 从零开始在ubuntu上搭建node开发环境
  • 服务器之间,相同帐号,实现免密钥登录
  • 前言-如何学习区块链
  • 区块链技术特点之去中心化特性
  • 思否第一天
  • 探索 JS 中的模块化
  • 一道面试题引发的“血案”
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 【干货分享】dos命令大全
  • 函数计算新功能-----支持C#函数
  • ​什么是bug?bug的源头在哪里?
  • # Apache SeaTunnel 究竟是什么?
  • #{}和${}的区别?
  • #if和#ifdef区别
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $(function(){})与(function($){....})(jQuery)的区别
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (C++20) consteval立即函数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (过滤器)Filter和(监听器)listener
  • (简单) HDU 2612 Find a way,BFS。
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?