昨天发现服务器上面的程序老是报分不到内存
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f9bee980000, 4009230336, 0) failed; error='Cannot allocate memory' (errno=12)
因为是刚装的系统,所以内核参数没有调整,按照 https://www.cnblogs.com/rabbitpei/p/6738671.html 这篇文章吧临时和永久的都更改了一下,然后就开始报
![5155564-8efe85e54691938d.png](https://i-blog.csdnimg.cn/blog_migrate/a133b4b7a79d31be30d5ccf1da826fd2.webp?x-image-process=image/format,png)
查看了一下本来192G的内存只剩96G了,可能服务器时间长了,内存条松动了吧,我这样想着就打开服务器查了一下内存条,没想到啊没想到,不知道怎么碰到RAID的线了,然后再开机raid就initialing。。。
![5155564-bbf49aa7f77903ef.jpeg](https://i-blog.csdnimg.cn/blog_migrate/ab107d77f24d58059831b5dfa2b0f1bb.webp?x-image-process=image/format,png)
然后raid阵列卡就一直尖叫,我知道一定闯祸了,可我也没动什么啊!
ctrl + R 打开raid 菜单一看,我的妈呀,十一个盘掉了八个,
![5155564-6388ce06f19ee809.jpeg](https://i-blog.csdnimg.cn/blog_migrate/16c4aa28aef802c4ea9080118ee0774a.webp?x-image-process=image/format,png)
赶紧打电话给售后,没想到售后直接判了死刑,说之前遇到过这个问题只有格式化才能重新挂载上,10个T的基因数据!每一次开机都要好几万才能测得的数据啊,我一脸懵逼,网上各种查方法, 要么付费要么重建raid阵列,我为什么没有选择付费?是因为前几天重装系统数据备份过了一次,最近产生的数据也不多而且已经给客户出过了报告,似乎不是很重要。领导也说实在不行就格掉吧。
这时候的问题是:
开机就进入救援模式,因为 fstab 挂载不上, 在救援模式注释掉挂载那行指令终于能开机了。然后挂载硬盘:
mount: unknown filesystem type 'null'
查看磁盘uuid ll /dev/disk/by-uuid/
磁盘已经没有uuid了。
但是fdisk -l 可以看到 100T磁盘就在那里。
死马当活马医吧,因为磁盘并没有坏,数据都在,我就想测试一下修复磁盘命令 nohup fsck.ext4 -y /dev/sda &
跑了一夜,第二天挂载竟然成功了!!!
差点就判了死刑。。。。我的个小心心啊