Unix toolbox注解1之Linux系统硬件信息

Unix toolbox注解2之Linux系统状态用户和限制

本系列文章为笔者对Unix toolbox的一些个人注解,加入个人的一些元素,删减了其中一些对于freebsd的一些命令介绍,文中的内容笔者都一一验证过,放心使用。

1.2显示状态信息

以下命令有助于找出正在系统中运行着的程序

# top           # 显示和更新使用 cpu 最多的进程

注:

top小技巧,执行top命令之后,可以敲击如下按键,实现不同功能
1(数字1):列出所有的单个CPU负载情况

z:top显示颜色

P:按CPU占用高低顺序列出程序
M:按内存占用高低顺序列出程序
x:类似高亮显示,在z显示模式下才有效果

如下效果图:

top显示Swap利用率,使用top命令后按f键,然后按p键,回车之后即可看到Swap状态

d:top默认的刷新时间是3s,使用d键可以自定义刷新时间

top类似上下翻页的方法:
shift < 下翻页
shift >上翻页

top默认按cpu占用排序,这也是可以修改,按F(大写)即可选择相应排序,之后回车即可

c:显示进程命令的全路径与参数

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法

# mpstat 1      # 显示进程相关的信息
# vmstat 2      # 显示虚拟内存的状态信息
# iostat 2     # 显示 I/O 状态信息(2 秒 间隙)
# tail -n 500 /var/log/messages # 显示最新500条内核/系统日志的信息

1.3用户

# id        # 显示当前用户和用户组的 ID
# last      # 列出目前与过去登入系统的用户相关信息
# who       # 显示目前登入系统的用户信息
# groupadd admin # 建立新组"admin"和添加新用户 colin 并加入 admin 用户组(Linux/Solaris)
# useradd -c "Colin Barschel" -g admin -m colin
# userdel colin # 删除用户 colin(Linux/Solaris)

使用 nologin 来临时阻止所有用户登录(root除外)。用户登录时将会显示 nologin 中的信息。

# echo "Sorry no login now" > /etc/nologin # (Linux)

1.4限制

某些应用程序需要设置可打开最大文件和socket 数量(像代理服务器,数据库)。 默认限制通常很低。

注:
关于ulimit使用可阅读IBM文档:通过 ulimit 改善系统性能

笔者之前也写过有关文件描述符文章介绍:Linux下文件描述符

关于RHEL6中ulimit的nproc限制

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

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

[root@kumu ~]# ulimit -a         //显示当前所有限制的详细信息

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 1829

max locked memory       (kbytes, -l) 64

max memory size         (kbytes, -m) unlimited

open files                      (-n) 1024

pipe size            (512 bytes, -p) 8

POSIX message queues     (bytes, -q) 819200

real-time priority              (-r) 0

stack size              (kbytes, -s) 10240

cpu time               (seconds, -t) unlimited

max user processes              (-u) 1024

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

shell/脚本

shell的限制是受ulimit支配的。使用ulimit -a 可查看其状态信息。举个例子,改变可打开最大文件数从1024 到 10240,可以这么做:

# ulimit -n 10240  # 这只在shell中有用

ulimit 命令可以使用在脚本中来更改对此脚本的限制。

用户/进程

登录用户和应用程序的限制可以在/etc/security/limits.conf 中配置。举个例子:

# cat /etc/security/limits.conf
* hard nproc 250                # 限制所有用户进程数
asterisk hard nofile 409600 # 限制应用程序可打开最大文件数

系统级

用sysctl来设置内核限制。要使其永久,可以在/etc/sysctl.conf 中进行配置。

# sysctl -a         # 显示所有系统限制
# sysctl fs.file-max    # 显示系统最大文件打开数
# sysctl fs.file-max=102400 # 更改系统最大文件打开数
# cat /etc/sysctl.conf
fs.file-max=102400          # 在 sysctl.conf 中的永久项
# cat /proc/sys/fs/file-nr # 在使用的文件句柄数

转载于:https://blog.51cto.com/kumu1988/1091825

Unix toolbox注解2之Linux系统状态用户和限制相关推荐

  1. 监控linux系统状态

    监控linux系统状态 监控介绍 安装zabbix4.0 监控客户机 解决中文名称不能写数据库的问题 解决图形中乱码 zabbix邮件告警 zabbix监控Nginx zabbix监控Tomcat z ...

  2. Linux系统状态检测及进程控制--2

    Linux系统状态检测及进程控制--1(http://crushlinux.blog.51cto.com/2663646/836481) 4.僵死(进程已终止,但进程描述符存在,直到父进程调用wait ...

  3. linux系统状态(磁盘大小、内存、进程、cpu使用率、网络连接)

    分享一下自己做的一个获取Linux系统状态的类(c++)(代码整理后的,在物理机上测试可以,在vm虚拟机上测试,磁盘计算有问题) 头文件 #ifndef LINUXSERVERSTATE_H #def ...

  4. 监控Linux系统状态的命令

    监控Linux系统状态的命令1 :w uptime命令查看系统负载 : w/uptime 最后面三个数字表示1分钟 ,5分钟 ,15分钟 平均有多少进程占用CPU 某一时刻1颗CPU只能有一个进程在使 ...

  5. 管理Linux 系统的用户与用户组

    任务五 管理Linux系统的用户与用户组 [任务说明] Linux操作系统是多用户多任务操作系统. 用户可分为普通用户和超级用户,除了用户以外还有用户组.所谓用户组就是用户的集合,CentOS组中有两 ...

  6. 【Linux系统】第9节 linux系统中用户分类以及用户与组属性的修改示例

    目录 1 用户的分类 2 用户与组的相关设置文件 2.1 passwd文件 2.2 shadow文件 2.3 group文件 3 CentOS系统中用户与组的创建及属性的修改示例 3.1 相关命令 3 ...

  7. linux 权限 x 表示,在Linux系统中,用户对目录拥有“x”权限,表示可以执行下列哪种操作?...

    在Linux系统中,用户对目录拥有"x"权限,表示可以执行下列哪种操作? 更多相关问题 通过花的中心只能作1个对称面称辐射对称花. 王叔和归纳了脉象( )种,规范了脉象名称. 车轮 ...

  8. linux系统中用户切换

    1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参 ...

  9. 详解Linux系统的用户管理——添加用户、删除用户、查询用户信息、切换用户、用户组

    Linux系统的用户管理 用户管理的规则 添加用户 基本语法 实际案例 细节说明 给用户指定或者修改密码 基本语法 应用案例 删除用户 基本语法 应用案例 删除用户注意事项 查询用户信息 基本语法 应 ...

最新文章

  1. 廖雪峰python教程百度云-廖雪峰Python教程的配套视频教程,全套完整版!
  2. post传参部分数据丢失
  3. Python3 queue队列模块详解
  4. 【90】沟通:跨部门管理
  5. 移动医疗APP(解决方案)下载
  6. 剑指offer 替换空格
  7. yii2_getDb()自动切换数据库
  8. 缺少必要的请求参数: id_React Hooks 第二期:发请求这件小事
  9. 荣耀50系列将增全新配色:尽显时尚艺术张力
  10. 京东健康携手国控湖北 首批1500万只口罩专供湖北
  11. 知物由学 |“网状世界”下,无处可逃的信息安全
  12. java9最新下载_java9下载_java9官方版下载 32位64位 最新版_天天下载手机版
  13. Debian安装软件商店-Debian的GUI软件管理
  14. java开发面试自我介绍模板_java程序员面试自我介绍范文(精选3篇)
  15. box-sizing属性介绍
  16. 计算机computer英语划分音节,computer是什么意思
  17. PHP 实现防抖功能(防重复请求)
  18. spring基础概述
  19. Thinkcmf - 微信公众号开发 -1
  20. 今天开始学Convex Optimization:第2章 背景数学知识简述

热门文章

  1. aspose.words for java操作文档doc,设置一级二级三级标题以及段落表格等详情
  2. bzoj4361 isn (dp+树状数组+容斥)
  3. java_2018_Day7_静态static
  4. form提交后,jquery 显示 文本框选择值和下拉框选中值
  5. gcc和g++的区别[zz]
  6. yolov5训练自己的数据集(缺陷检测分类——看了就懂系列)
  7. Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL
  8. typeScript面试必备之-通识七:typeScript中的可索引接口(数组,对象)+类类型接口...
  9. git/github的使用
  10. 一篇文章告诉你:荣耀10 GT为什么叫全能旗舰