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

Raid共享热备盘 共享热备盘 由于条件有限,本试验是在Vmware虚拟机上模拟完成的。试验使用的是两个raid1组之间的共享一个热备盘,一开始md0有一个热备盘,而md1没有热备盘,通过修改配置文件可以使它们共享一块热备盘。如此可在节省磁盘的同时,同时也增强了安全性。   1、环境搭建: # fdisk -l | grep '^/dev/'  //查看当前磁盘的分区结构 /dev/sda1   * 阅读详情

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条内核/系统日志的信息

# tail /var/log/warn                # 显示系统警告信息(看syslog.conf)

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 # 在使用的文件句柄数

RichEditor失焦时如何取消选中? 🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。 阅读详情

相关推荐

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)

内容概要:本文围绕城市空中交通环境下多无人机协同路径规划问题展开深入研究,重点探讨了在包含建筑物、禁飞区、动态威胁等复杂约束条件下,如何利用仿生优化算法(如布谷鲶鱼优化算法CCO、灰雁优化算法GGO、田忌赛马优化算法THRO)实现安全、高效的多无人机路径规划。文章提出了一种分层规划策略,融合全局路径规划与局部动态避障机制,构建了综合考虑路径长度、威胁暴露度、高度变化及地形碰撞风险的多目标优化模型。通过Matlab仿真平台对多种算法进行对比实验,系统评估了各算法在路径安全性、收敛速度、优化性能和鲁棒性方面的表现,并深入分析了现有方法的局限性,对未来研究方向如动态环境适应、通信受限下的分布式协同等进行了展望。; 适合人群:具备一定编程基础,熟悉Matlab/Simulink仿真环境,从事无人机系统设计、智能交通、自动化控制、路径规划算法研究等相关领域的科研人员及高校研究生。; 使用场景及目标:①应用于城市空中交通系统中多无人机的协同任务执行与动态避障;②为复杂威胁环境下多智能体系统的路径规划提供先进算法支持与仿真验证框架;③辅助研究人员深入理解并复现仿生优化算法在高维、多约束路径规划问题中的具体实现与性能差异。; 阅读建议:此资源以Matlab代码实现为核心,紧密结合理论建模与仿真实验,建议读者在学习过程中重点关注算法的设计原理、参数调优策略及仿真结果的可视化分析,结合文中提供的实验数据进行横向对比,以深刻把握不同仿生算法的搜索机制、适用场景及其在实际工程应用中的潜力与挑战。

鸿蒙5.0开发常见问题【如何主动清除控件的焦点?】

当组件处于获焦状态时,将其focusable属性或enabled属性设置为false,会自动使该组件失焦。焦点将按照[走焦规则]转移给其他组件。

鸿蒙的技术博客 177

仿真+课设Multisim直流可调稳压电源(0-15V)仿真设计基于LM317+LM337【仿真+课程报告】

内容概要:本文详细介绍了一种基于LM317(正压调节)和LM337(负压调节)芯片的Multisim直流可调稳压电源仿真设计方案,输出电压范围为0-15V,具备完整的电路仿真模型与课程设计报告。设计涵盖线性稳压电源的核心原理,包括电压调节机制、元件参数配置、双极性电源构建及仿真测试流程,突出理论与实践结合。文档还附带丰富的扩展资源,如三相PWM整流器、函数信号发生器等仿真项目,并提供百度网盘链接用于获取全套资料,适用于电子类课程设计与自主学习。整体内容系统性强,注重仿真操作指导与工程实践能力培养。; 适合人群:电子信息工程、自动化、电气工程及其相关专业的本科生、专科生,以及正在进行模拟电子技术课程设计或毕业设计的学生。; 使用场景及目标:①深入理解线性稳压电源的工作原理与设计方法;②掌握Multisim软件在电路仿真中的实际应用;③完成基于LM317/LM337的可调稳压电源课程设计任务;④提升模拟电路系统的设计、仿真与分析综合能力; 阅读建议:建议结合Multisim软件同步实践,按照文档电路图逐步搭建仿真模型,重点关注电压调节电路的实现细节与参数设置,并参考所提供的其他仿真资源拓展知识广度,强化工程思维训练。

systemd、upstart和system V

systemd是Linux下的一种init软件,由Lennart Poettering(英语:Lennart Poettering)带头开发并在LGPL 2.1及后续版本许可证下开源发布。其开发目标是提供更优秀的框架以表示系统服务(英语:Service (systems architecture))间的依赖关系,并以此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销(英语:Comp

枯木的Linux专栏 1万+

阻尼器磁流变阻尼器MR Damper非线性(阻尼、滞回)特性研究(Matlab代码实现)

内容概要:本文围绕磁流变阻尼器(MR Damper)的非线性特性开展深入研究,重点剖析其在动态载荷作用下的阻尼力响应与滞回行为所表现出的强非线性特征,并基于Matlab平台进行系统建模与数值仿真。通过建立能够准确描述MR阻尼器非线性力学行为的数学模型,模拟其在不同激励条件、电流强度和运动频率下的动态响应过程,进而对系统的非线性特性进行定性与定量分析。研究涵盖了模型构建、参数设定、仿真执行与结果可视化等全过程,突出了Matlab在处理复杂非线性系统仿真中的强大功能与工程实用性,为智能材料器件在振动控制领域的应用提供了坚实的理论支撑与技术路径。; 适合人群:具备一定控制理论、机械动力学或智能材料基础知识,熟悉Matlab编程环境的研究生、科研人员及从事振动控制、结构工程等相关领域的工程技术人员。; 使用场景及目标:①用于智能材料与结构领域的科研与教学,帮助深入理解磁流变阻尼器的工作机理与非线性动力学特性;②为车辆半主动悬架系统、建筑结构抗震减震、桥梁风振抑制等实际工程中的振动控制系统设计、仿真验证与参数优化提供技术支持;③作为非线性系统建模、动力学仿真与Matlab编程实践的经典案例,有效提升使用者的系统分析能力和工程软件应用水平。; 阅读建议:建议读者结合文中提供的Matlab代码进行动手实践,通过调整模型参数(如电流、激励幅值与频率)观察系统响应的变化规律,深入探究非线性特性的形成原因与影响因素,并可尝试将该建模方法迁移至其他智能阻尼器件(如压电、电流变阻尼器)的研究中,以拓展应用视野。

C++/WinRT入门指南:现代Windows原生开发的核心技术

Windows运行时(WinRT)是微软为现代Windows应用开发设计的一套跨语言API框架,它基于COM技术原理构建,提供了统一的二进制接口标准。这项技术的核心价值在于让开发者能够以原生性能调用系统级功能,同时保持跨语言兼容性。在工程实践中,C++/WinRT作为官方推荐的C++语言投影,通过标准C++语法封装WinRT API,显著降低了开发复杂度。特别是在异步编程场景中,结合C++20协程特性,能够大幅提升代码可读性和维护性。对于需要高性能图形处理、系统集成或跨平台兼容的桌面应用开发,掌握C++/W

weixin_33910191的博客 1196

drop_caches Linux清空缓存

drop_cachesWriting to this will cause thekernel to drop clean caches, dentries andinodes from memory, causing thatmemory to become free.To free pagecache:         echo1 > /proc/sys/vm/drop_cachesTo fr

枯木的Linux专栏 9386

从零手写神经网络:用NumPy实现全连接网络与反向传播

神经网络本质上是可微分的函数复合体,其核心在于仿射变换与非线性激活的交替堆叠,以及基于链式法则的自动微分实现。理解前向传播的矩阵运算逻辑和反向传播的梯度流动机制,是掌握深度学习底层原理的关键路径。权重初始化(如He/Xavier)、激活函数选择(ReLU/Sigmoid)与数值稳定性处理(如1e-8防下溢)共同决定了训练的收敛性与鲁棒性。这些基础要素不仅支撑学术推导,更直接影响工业场景中的模型调试、FPGA部署及梯度异常定位。本文以纯NumPy实现三层全连接网络为载体,聚焦‘From Scratch’过程中

weixin_32495691的博客 285

RHEL6下squid代理之正向代理

Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Unix一类系统运行。 以下介绍它的第

枯木的Linux专栏 7692

【LaTeX】IEEE会议模板中使用BibTex插入文献(解决报错:Something‘s wrong--perhaps a missing \item. \end{thebibliography}

使用IEEE会议论文LaTeX模板时遇到的一个错误,问题描述为:使用Texstudio编译LaTeX模板报错,报错信息提示为。出现的原因为IEEE会议论文模板自带的参考文献引用方式为手动插入,即不使用格式的参考文献,手动将参考文献调整为合适格式,然后粘贴到文本中,我准备将其换成方法引用参考文献。我的替换步骤为删除原始参考文献对应内容,即模板中的: 将以下函数添加到原始参考文献对应位置,对应上文新建的文件。 再次编译出现报错 删除文件夹中的文件 修改模板中的引用名称 引用方法为: 将 替换为 再次编译——

TangPlusHPC的博客 9900

电磁兼容标准体系解析:从基础到认证的完整指南

本文系统解析了电磁兼容(EMC)标准体系,从基础概念到认证流程提供完整指南。文章阐述了EMC对于产品可靠性与市场准入的重要性,详细拆解了基础标准、通用标准、产品类标准及认证流程四层结构,并结合5G设备与工业控制等实战案例,为工程师提供了从设计初期到认证测试的高效应用策略。

weixin_29294975的博客 355

sed -i修改链接文件注意问题

因为sed -i /etc/sysconfig/selinux(selinux文件是/etc/selinux/config的软链接)配置文件重启SELINUX没有关闭,才发现原来sed -i是不能直接修改软链接文件的,如下我修改之后的后果: [root@node1 ~]# ll /etc/sysconfig/selinux lrwxrwxrwx. 1 root root 19 2月 20

枯木的Linux专栏 7439

用 OP-TEE 给 AI 模型“上锁”:密文存储、TEE 解密放行、推理后销毁(实战可落地)

本文提出一种基于OP-TEE的AI模型保护方案,通过两级密钥体系确保模型静态存储为密文,运行时仅在TEE内解密。方案采用KEK+DEK架构,DEK永不出TEE,支持分块解密与可验证擦除。该方案能有效防御静态分析、应用层逆向等威胁,但需承认其物理级攻击的局限性。文章详细描述了端到端架构、文件格式设计及TA实现要点,包括密钥管理、分块解密策略和销毁机制,为设备侧AI部署提供了工程可行的安全解决方案。

Interview_TC的博客 288

关闭Xshell响铃/警告声

记一下,方法如下:

枯木的Linux专栏 7426

python如何给声音增加回声效果

创建任何声音对象的回声效果。使用sndarray和numpy来创建原始声音的偏移和衰减副本。目前它只是使用硬编码的值来设置回声的数量和延迟。你可以根据自己的需要轻松地重新创建。这段注释说明了make_echo函数的用途和实现方式,即通过pygame的sndarray模块和numpy库来处理声音数据,生成具有回声效果的声音。函数中使用了固定的回声数量和延迟时间,但这些值可以根据用户的需求进行调整。

zhangzhechun的专栏 976

从 Token 到 Agent:一文串起 AI 大模型核心概念

摘要:本文系统解析了现代AI系统的八大核心概念:Token(语言处理的最小单位)、Context(AI的短期记忆)、Prompt(指令接口)、Tool(能力扩展器)、MCP(工具生态协议)、Agent(自主智能体)和AgentSkill(专业技能封装)。文章揭示了这些概念如何共同构成AI从基础语言理解到自主决策的技术脉络,重点阐述了Token对计算成本的影响、Prompt工程的重要性、Tool如何突破AI的能力边界,以及Agent如何通过"感知-规划-执行-反思"循环完成复杂任务。最后指

jundao1997的专栏 249

RHEL6 双网卡绑定

RHEL6 双网卡绑定 为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。多网卡绑定这个词在不同的平台有不同叫法,在Linux下叫bonding,IBM称为etherchanel,broadcom叫team,但是名字怎么变,效果都是将两块或更多的网卡当做一块网卡使用,在增加带宽的同时也可以提高冗余性。比如我们

枯木的Linux专栏 6263

SAP-ABAP:SAP中的用户确认对话框:深入理解与实践POPUP_TO_CONFIRM

本文深入介绍了SAP中的用户确认对话框函数POPUP_TO_CONFIRM,包括其核心参数配置、返回值处理、应用场景和最佳实践。该函数是SAP二次开发中重要的交互工具,用于关键操作前获取用户确认,防止误操作。文章详细解析了参数设置技巧,强调必须全面处理所有可能的返回值,并提供了删除数据、批量操作等典型应用场景的代码示例。同时对比了其他类似弹出函数,帮助开发者选择合适工具。正确使用该函数可提升系统安全性、改善用户体验并符合SAP设计规范。

baidu_35680696的博客 970

nc扫描机器端口

# nc -z localhost 1-10000   //扫描本机1到1000端口,获取打开的端口 Connection to localhost 22 port [tcp/ssh] succeeded! Connection to localhost 80 port [tcp/http] succeeded! Connection to localhost 111 port [tcp/s

枯木的Linux专栏 5952

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

查找出服务器无线网络速度、信号强度等

#1:找出无线网卡类型信息 $ lspci $ lspci | grep -i wireless $ lspci | egrep -i --color 'wifi|wlan|wireless' #2:找出无线网卡驱动信息 $ lspci -vv -s 0c:00.0 例子: 0c:00.0 Network controller: Intel Corporation Ultim

枯木的Linux专栏 5855

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

fedora 17的root不能图形界面登陆

Fedora17图形界面默认是不允许root用户登录的,看了下网上的相关解决办法,对于17还是有些变化的, /etc/pam.d/gdm 文件也不存在了. 下面是具体的解决方法,因为只是图形界面不能登陆,Linux的用户管理都是通过PAM认证管理的,所以要从图形界面相关的pam找出解决办法,首先使用root找出含有root用户的图形界面相关pam配置文件,grep一下即可,如图所示:

枯木的Linux专栏 4944

Starting HAL daemon:[FAILED]

因为优化系统关闭了一些服务,导致RHEL6系统在图形界面中鼠标和键盘不能使用,并且提示Starting HAL daemon:[FAILED] haldaemon:接受由udev通过D-BUS传递来的消息后调fstab-sync修改 fstab文档,动态创建/media目录下的子目录作为挂载点 经过排查得知是messagebus服务没有开启,而开启haldaemon必须开启messagebus

枯木的Linux专栏 4811

make: *** [ext/mysqli/mysqli.lo] Error 1

php5.3.8 ./configure没有任何问题,make时出现如下问题,具体原因不明,在网上找到如下方法解决,mark一下 make: *** [ext/mysqli/mysqli.lo] Error 1 # mkdir /xxx/mysql/include/mysql # ln -s /xxx/mysql/include/* /xxx/mysql/include/mysql

枯木的Linux专栏 4547

shell脚本不换行刷新数据

#!/bin/bash while [ 1 ] do a=$(ifconfig eth0 | grep 'RX pac' | awk '{print $2}' | awk -F: '{print $NF}') echo -ne "$a\r" #不换行刷新数据 doneecho 参 数:-n 不要在最后自动换行   -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成

枯木的Linux专栏 4535

MFS部署

MFS部署 部署环境:RHEL6.1 mfs版本:mfs-1.6.17.tar.gz 官网地址:www.moosefs.org 官网最新版本为v1.6.26   说明:实验过程元数据服务器和元日志服务器在一台机器即Master管理服务器上,在生产环境中建议元数据服务器和元日志服务器分开,这样安全性相对会高   IP部署 ------------------------------

枯木的Linux专栏 4526

RHEL6下puppet部署管理1之安装测试

puppet是一个为实现数据中心自动化管理而设计的配置管理软件。基于c/s架构。puppet的服务器端保存着所有的对客户端服务器的配置代码,在puppet里面叫做manifest. 客户端下载manifest之后,可以根据manifest对服务器进行配置,例如软件包管理,用户管理和文件管理等等。 puppet的工作流程如下: 1.        客户端puppetd调用facter,facte

枯木的Linux专栏 3023
上一篇: 关于RHEL6中ulimit的nproc限制
下一篇: Unix toolbox注解3之Linux运行级别和内核模块
kumu_Linux
博客等级 码龄14年 68粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值