- 浏览: 7932283 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
http://dbahacker.com/linux/redhat5-%E5%92%8Credhat6-root%E7%94%A8%E6%88%B7%E4%B8%8D%E5%90%8C%E7%9A%84ulimits
以前一直都是用redhat5,redhat6也处于测试阶段,当然也遇到了很多奇奇怪怪的问题,比如之前写的一篇博客,当时候是用root启动了mysqld_unsafe,在mysql的QPS到1W以上后,会出现ERROR 1135 (HY000): Can’t create a new thread (errno 11); 当时候的解决办法是用mysql用户来启动就解决了问题。但因为在系统重启后,如果用sudo -u mysql来启动的话,脚本会被卡主。
这个问题今天得到了一个稍微深入一点的结论。
首先我们看看这个错误
ERROR 1135 (HY000): Can’t create a new thread (errno 11);
if you are not out of available memory,
you can consult the manual for a possible OS-dependent bug
google类似Can’t create a new thread的错误后,得到的结论是文件描述符不够用,检查了vim /etc/security/limits.conf 的设置,是正常的
vim /etc/security/limits.conf
得到的结果是
root soft nofile 65535
root hard nofile 65535
admin soft nofile 65535
admin hard nofile 65535
# End of file
mysql soft nproc 65536
mysql hard nproc 65536
mysql soft nofile 65535
mysql hard nofile 65535
但观察了sudo -u root bash -c " ulimit -a " 后,得到 max user processes (-u) 1024
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 385957
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
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
max user processes (-u) 1024 和 sudo -u root bash -c " ulimit -u " 一样,都是得到1024的结果
sudo -u root bash -c " ulimit -u "
1024
而在redhat5里面,只要在/etc/security/limits.conf 设置了root soft nofile 65535 和root hard nofile 65535,对应的uilmit -u 就会是65535.
和@维西v @tb天羽 搞了几个小时,依然没法成功修改root用户的 max user processes到65535 。后来发现了一篇文章 Know your limits (ulimits) ,提及到redhat6新增了/etc/security/limits.d/90-nproc.conf,里面的内容是
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 1024
redhat6下面,root用户使用ulimit -u没法修改
* soft nproc 1024的意思是任何用户的最大max user processes为1024个,其他用户可以通过ulimit -u来修改 ,但root用户则修改不成功,我们这里看一个例子
[yingyuan.ydh@my031226 ~]$ cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 1024
[yingyuan.ydh@my031226 ~]$ ulimit -u
1024
[yingyuan.ydh@my031226 ~]$ ulimit -u 65535
[yingyuan.ydh@my031226 ~]$ ulimit -u
65535
[yingyuan.ydh@my031226 ~]$ sudo -uroot bash -c " ulimit -u 65535"
[yingyuan.ydh@my031226 ~]$ sudo -uroot bash -c " ulimit -u "
1024
很明显,在redhat6的/etc/security/limits.d/90-nproc.conf限制下,个人用户可以修改ulimit-u,但root用户没法修改。 解下来,我们把etc/security/limits.d/90-nproc.conf改掉,会看到root的ulimit -u 可以修改成功。
[yingyuan.ydh@my031226 ~]$ sudo -uroot bash -c " ulimit -u 65535"
[yingyuan.ydh@my031226 ~]$ sudo -uroot bash -c " ulimit -u "
65535
[yingyuan.ydh@my031226 ~]$ cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 65535
结果
在成功修改了root用户的max user processes后,继续使用root用户启动mysqld_safe脚本,稳定运行了一个下午,一切正常。
以前一直都是用redhat5,redhat6也处于测试阶段,当然也遇到了很多奇奇怪怪的问题,比如之前写的一篇博客,当时候是用root启动了mysqld_unsafe,在mysql的QPS到1W以上后,会出现ERROR 1135 (HY000): Can’t create a new thread (errno 11); 当时候的解决办法是用mysql用户来启动就解决了问题。但因为在系统重启后,如果用sudo -u mysql来启动的话,脚本会被卡主。
这个问题今天得到了一个稍微深入一点的结论。
首先我们看看这个错误
ERROR 1135 (HY000): Can’t create a new thread (errno 11);
if you are not out of available memory,
you can consult the manual for a possible OS-dependent bug
google类似Can’t create a new thread的错误后,得到的结论是文件描述符不够用,检查了vim /etc/security/limits.conf 的设置,是正常的
vim /etc/security/limits.conf
得到的结果是
root soft nofile 65535
root hard nofile 65535
admin soft nofile 65535
admin hard nofile 65535
# End of file
mysql soft nproc 65536
mysql hard nproc 65536
mysql soft nofile 65535
mysql hard nofile 65535
但观察了sudo -u root bash -c " ulimit -a " 后,得到 max user processes (-u) 1024
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 385957
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
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
max user processes (-u) 1024 和 sudo -u root bash -c " ulimit -u " 一样,都是得到1024的结果
sudo -u root bash -c " ulimit -u "
1024
而在redhat5里面,只要在/etc/security/limits.conf 设置了root soft nofile 65535 和root hard nofile 65535,对应的uilmit -u 就会是65535.
和@维西v @tb天羽 搞了几个小时,依然没法成功修改root用户的 max user processes到65535 。后来发现了一篇文章 Know your limits (ulimits) ,提及到redhat6新增了/etc/security/limits.d/90-nproc.conf,里面的内容是
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 1024
redhat6下面,root用户使用ulimit -u没法修改
* soft nproc 1024的意思是任何用户的最大max user processes为1024个,其他用户可以通过ulimit -u来修改 ,但root用户则修改不成功,我们这里看一个例子
[yingyuan.ydh@my031226 ~]$ cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 1024
[yingyuan.ydh@my031226 ~]$ ulimit -u
1024
[yingyuan.ydh@my031226 ~]$ ulimit -u 65535
[yingyuan.ydh@my031226 ~]$ ulimit -u
65535
[yingyuan.ydh@my031226 ~]$ sudo -uroot bash -c " ulimit -u 65535"
[yingyuan.ydh@my031226 ~]$ sudo -uroot bash -c " ulimit -u "
1024
很明显,在redhat6的/etc/security/limits.d/90-nproc.conf限制下,个人用户可以修改ulimit-u,但root用户没法修改。 解下来,我们把etc/security/limits.d/90-nproc.conf改掉,会看到root的ulimit -u 可以修改成功。
[yingyuan.ydh@my031226 ~]$ sudo -uroot bash -c " ulimit -u 65535"
[yingyuan.ydh@my031226 ~]$ sudo -uroot bash -c " ulimit -u "
65535
[yingyuan.ydh@my031226 ~]$ cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 65535
结果
在成功修改了root用户的max user processes后,继续使用root用户启动mysqld_safe脚本,稳定运行了一个下午,一切正常。
发表评论
-
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3093微软提供了不少命令行 ... -
挂载文件系统选项nodiratime、noatime等集合小结
2018-06-02 19:56 2653Linux系统文件有三个主 ... -
Linux如何查看当前占用CPU或内存最多的K个进程
2018-05-20 11:01 3291内存 可以使用以下命令查使用内存最多的K个进程 方法1: p ... -
(转)使用frp实现内网穿透
2018-05-14 13:33 2431https://www.jianshu.com/p/e8e26 ... -
docker小结1
2018-05-11 14:26 4771 通过dockerfile建立一个简单的HELLO.C,然后 ... -
LINUX下EPOLL等不错的文章收藏
2018-04-25 09:35 5531 通俗讲解 异步,非阻塞和 IO 复用 https:/ ... -
Ubuntu中root用户和user用户的相互切换
2018-04-06 12:46 10261)从user用户切换到root用户 不管是用图形模式登录U ... -
ubuntu下Virtualbox虚拟Ubuntu共享文件夹设置
2018-04-06 11:41 10021. 安装增强功能包(Guest Additions) 安装 ... -
Web网站压力及性能测试
2017-10-09 19:59 694https://segmentfault.com/a/1190 ... -
工具推荐:Netdata,Linux性能实时监测工具
2017-07-14 09:10 1166工具推荐:Netdata,Linux性能实时监测工具 http ... -
一个 Linux 下基于 Bash 的文件和数据库监控及备份工具,可发送微信报警通知
2017-07-11 07:07 1646一个 Linux 下基于 Bash 的文件和数据库监控及备份工 ... -
收藏个不错的能发送日志等警告信息等到微信的工具
2017-06-11 10:12 1069发现个将比如报警日志呀之类的提醒信息,发送给微信的好的工具,不 ... -
收藏:nginx教程从入门到精通(ttlsa出品)
2017-02-09 22:53 719http://www.ttlsa.com/nginx/ngin ... -
(转)从dstat理解Linux性能监控体系
2016-08-02 10:27 2562http://calvin1978.blogcn.com/ar ... -
linux下安装SZ,RZ命令
2016-02-26 20:59 1658在 linux 下,一般用secur crt等工具,今天居然 ... -
Clumsy —— 帮你模拟各种网络不稳定的环境,包括掉包
2014-11-14 09:12 1752Clumsy —— 帮你模拟各种网络不稳定的环境,包括掉包、延 ... -
ping+tracerout的unix下网络诊断小工具mtr
2014-07-29 22:04 1596今日才发现,原来linux中可以用ping和tracerout ... -
(转)Apache日志分割
2014-02-25 20:20 1600Apache和Ngix一样,对日志没有进行分割处理,这样很不方 ... -
linux下 cpu频率节能
2014-02-25 13:06 1425参考: http://linux-wiki.cn/wiki/z ... -
(转)最佳日志实践
2014-01-22 23:24 946http://www.bitstech.net/2014/01 ...
相关推荐
通过上述步骤,我们不仅学会了如何在Redhat Linux中修改root密码,还深入了解了Linux系统的启动过程和单用户模式的工作原理。这种能力对于处理紧急情况、系统故障恢复以及增强系统安全性都极为关键。然而,修改root...
为了精细化管理系统,需要了解 Root 用户的权限和使用方法。本文将详细解释 Root 用户的概念、SU 命令、Sudo 命令、/etc/sudoers 文件的作用和配置方法。 一、Root 用户概述 在 Linux 系统中,Root 用户是最高权限...
根据提供的文档信息,本文将重点围绕Red Hat Linux系统下的单用户模式如何更改root密码,并延伸至DNS服务配置的相关知识点进行详细阐述。 ### Red Hat Linux单用户模式更改root密码 在Red Hat Linux系统中,有时...
在这个场景下,我们要讨论的是如何在没有网络连接的情况下,在Red Hat 7.4(简称redhat7u4)上离线安装GCC编译器,包括所有必要的依赖包。 GCC(GNU Compiler Collection)是一套开源的编译器集合,用于将源代码...
CentOS及Redhat破解root密码,做了简单的整理,方便大家阅读,希望对你有帮助。
_VMWare虚拟机+Redhat Linux 5安装vmware-tools_ VMWare虚拟机是一种popular的虚拟机软件,可以在物理机器上运行多个虚拟机,每个虚拟机可以运行不同的操作系统。Redhat Linux 5是Redhat公司推出的一个Linux操作...
本文详细介绍了如何在 Red Hat 6 中开启 Telnet 服务,包括安装所需的软件包、配置服务参数、调整防火墙策略以及允许 Root 用户通过 Telnet 登录。这些步骤有助于实现远程访问需求,同时也需要注意安全问题,确保...
### RedHat Linux RHEL6配置本地YUM源详解 #### YUM简介 YUM(Yellowdog Updater Modified)是一款在Linux环境下使用的包管理工具。它最初由Yellow Dog Linux的开发者们设计并实现,名为yup(Yellowdog Updater)。...
1. 已安装Redhat5操作系统。 2. 具备基本的Linux命令行操作技能。 3. 准备好Apache、MySQL和PHP的安装包。 #### 二、安装Apache Web服务器 1. **下载Apache安装包**:可以前往Apache官网下载适合Redhat5的版本。 2...
### Redhat 6 配置 VNC 服务详解 #### 一、引言 VNC(Virtual Network Computing)是一种允许用户远程控制计算机的应用程序。它通过网络将图形化桌面环境从一台计算机传输到另一台计算机上,使得用户可以在远程位置...
如果您忘记了Red Hat系统的Root密码,不要担心,本文将为您提供两种解决方法:单例模式(Single User Mode)和救援模式。 单例模式(Single User Mode) 单例模式是一种特殊的启动模式,可以让您在不需要Root密码...
- 创建 `oracle` 用户,属于 `oinstall` 组,并且是 `dba` 组的成员:`[root@redhat5 Server]#/usr/sbin/useradd -g oinstall -G dba oracle` 3. **设置密码**: - 修改 `oracle` 用户的密码:`[root@redhat5 ...
通过上述步骤,我们可以在 RedHat Linux 5 上成功安装和配置 VNC Server,实现远程桌面的功能。这对于日常管理和维护 Linux 服务器非常有帮助。需要注意的是,为了保证系统的安全性,建议定期更换 VNC Server 的密码...
### Redhat 6 安装 Telnet 详细指南 #### 一、Telnet 基础知识 **Telnet** 是一种基于TCP/IP协议的应用层协议,用于远程访问其他计算机系统。它允许用户通过网络连接到远程主机并执行命令,就像在本地终端上一样。...
4.使用超级用户身份运行setup命令,在系统服务理选上tftp服务 [*]tftp 5.启动tftp服务器 [root]# service xinetd restart 看到启动[OK]就可以了 可以在tftpboot中放一些文件,然后使用tftp客户端命令连接服务器,...
6. 进行网络配置,设置时区,并设置根用户(root)的口令。 7. 选择要安装的软件包,例如服务器、工作站、开发工具等。 8. 安装结束后,重新引导系统。 在安装结束后,需要设置语言支持、系统软件包检查以及优化...