【Linux】 -bash-4.2#问题和Cannot allocate memory

1,最近在实际使用linux的过程中中,遇到了一个小问题

在之前,看到根目录“/”下多了一个“~”目录,看到别的服务器都没有,于是忍不住rm -rf ~了。运行了10来秒,感觉不对劲,用时太长了,应该是个小文件才对,赶紧停了。

然后第二天重新连接这个服务器时,发现命令行头[[email protected] ~]变成了-bash-4.2#,一直不明白是什么鬼。今天终于忍不住百度了,原来是"/root"目录下,以".bash”开头的文件都被干掉了。

解决办法:运行下面的命令。就是把"/etc/skel/.bash*"文件复制到"/root/"

cp -r /etc/skel/.bash* /root/

2,压测公司的一个导入接口,压了一晚上,第二天来公司查看结果时。发现不能建立多个SSH连接了,而且,建立第二个SSH连接时,运行一些比较消耗内存的命令都会提示:Cannot allocate memory,我最初以为是linux系统内存不够用了,但是free -m 发现,空间还很充足。然后网上查资料,找到了答案。

原来是服务器linux的最线程数达到了linux的最大线程数。

临时解决办法:

1,查看系统最大进程数:sysctl kernel.pid_max
2,查看系统当前进程数:ps -eLf | wc -l
3,修改最大进程数:修改/proc/sys/kernel/pid_max文件中的最大线程数

4,永久生效:

修改系统配置

 "kernel.pid_max=XXXX" >> /etc/sysctl.conf

根治办法:

找到不关闭线程的程序,让开发改。

附上其他可能使用的查询语句:

查看文件流是否关闭
lsof -p [pid] | grep /mnt/sync/ |wc -l
查看tcp是否关闭
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘

原文地址:https://www.cnblogs.com/stanmao/p/10741955.html

时间: 2024-10-09 04:37:00

【Linux】 -bash-4.2#问题和Cannot allocate memory的相关文章

Linux Swap故障之 swapoff failed: Cannot allocate memory

swap分区关闭 准备调整Linux下的swap分区的使用率. 在Linux下执行 swapoff -a -v报如下错误: swapoff: /dev/mapper/cryptswap1: swapoff failed: Cannot allocate memory 上述错误原因分析: 从上述的信息可以看出,当前Linux系统把/dev/mapper/cryptswap1这个设备当做了交换分区,如果当前改交换分区使用的容量大于系统当前剩余的内存,就会报这个错误,因为在关闭交换分区的时候,需要把分

-bash: fork: Cannot allocate memory

linux -bash: fork: Cannot allocate memory 执行命令显示: -bash: fork: Cannot allocate memory 排查发现原因:系统的pid_max不够用了 echo 1493909 > /proc/sys/kernel/pid_max 执行命令后,系统正常

Linux Bash脚本基本语法知识

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 前提:读者能够基本使用一款文本编辑器以及了解文件的权限概念. 准备工作 在/home目录创建script文件用于保存所有的脚本程序: # mkdir /home/script # cd /home/script/ Bash脚本的基本输入输出 第一个bash脚本: # vim ./hello-world.sh 说明: "#!"是一个约定标记,它告诉系统这个脚本需要什么解释器来执行 作为可

解决 linux -bash: telnet: command not found

输入命令telnet提示  linux -bash: telnet: command not found 解决方法: yum list telnet*   查看telnet相关的安装包 yum install telnet-server 安装telnet服务 yum install telnet.* 安装telnet客户端 然后运行telnet正常了

linux bash下免密碼登陸ROS

linux命令 1.生成key文件 ssh-keygen -t dsa 2.copy到ROS文件目錄裏面 scp .ssh/id_dsa username@XX.XX.XX.XX: 3.登陸ROS,並在ROS上面導入key user ssh-keys import public-key-file=id_dsa.pub user=username linux bash下免密碼登陸ROS,布布扣,bubuko.com

Linux bash介绍与使用

Linux----bash的简单使用 对于一个操作系统来说,shell相当于内核kernel外的一层外壳,作为用户接口.一般来说,操作系统的接口分为两类:GLI:command line interface命令行接口常见的有:sh  csh  ksh  zsh bash tcshGUI:graphical user interface 图形化用户接口常见的有:Gnome  KDE  Xfce bash及其特性: 1.bash实质上是一个可执行程序,一个用户的工作环境. 2.在每一个shell下可

Linux Bash内置命令大全详细介绍

转自:http://os.51cto.com/art/201006/207329.htm 主要Shell内置命令 Shell有很多内置在其源代码中的命令.这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快.不同的Shell内置命令有所不同. A.2.1  bash内置命令 .:执行当前进程环境中的程序.同source. . file:dot命令从文件file中读取命令并执行. : 空操作,返回退出状态0. alias:显示和创建已有命令的别名. bg:把作业放到后台. bin

【转】Linux(BASH)命令搜索机制

原文网址:http://www.mike.org.cn/articles/linux-linux-bash-command-search-mechanism/ 转自:Eric Cheung: Linux(BASH)命令搜索机制 本文假设的环境是GNU/Linux,且shell是BASH; 注意: 另外,我们讨论的前提是当你键入一个命令时并没有指定该命令的路径, 举例来说就是我们键入的命令是以commandname的形式而不是/path/commandname或./path/commandname

学习鸟哥私房菜--linux bash 的环境变量ps1设置

bash里边的变量ps1是用户平时的提示符,系统默认为[[email protected] 工作目录]$.关于ps1的相关介绍详见:http://www.cnblogs.com/starspace/archive/2009/02/21/1395382.html 文章里边介绍了要想ps1的修改在重启有效需要将它写入~/.bash_profile中,但是这是针对login shell的(即各种tty终端界面等),对于进入xwindow启动的命令行终端这样的nonlogin shell就不管用了,这是