Linux 如何启动/关闭 X 服务?

设置系统服务启动项啊,其实挺简单的。
你可以用 ntsysv 这个命令来操作。
直接在终端里敲 ntsysv,然后回车,就能看到各种服务的启动状态了。

当然,你也可以用 chkconfig 这个命令来更精确地控制。
比如,用 chkconfig --list 可以看到所有服务的当前状态。
要是想指定某个服务在哪个级别启动或关闭,可以加个 --level 参数。

想单独看某个服务能不能开机自启?那就用 chkconfig --list 服务名 呀。
要是想让它开机自启,就敲 chkconfig 服务名 on。
要是想关掉它的开机自启,就敲 chkconfig 服务名 off。

还有啊,如果你想让某个特定的程序,比如数据库或者 WAS,开机就自动运行,你还可以自定义开机程序。
把你要运行的 shell script 文件扔到 /etc/rc.d/rc.local 里就行了。
这样,系统一启动,就会自动执行你写的脚本了。

linux下的mongodb服务自动关闭,不知道什么原因

最近在搞一个项目,数据插入和更新挺频繁的,但可靠性要求不高,没必要搞事务。
跟着NoSQL的风头,选了当下最火的MongoDB。
测试的时候,真心觉得MongoDB装起来特简单,用API也方便得很。

可一上生产环境(CentOS6 .2 系统,6 4 G内存,1 2 核CPU),就出问题了,MongoDB老是宕机,一天有时候得宕两次。
虽然弄了replica sets,但好几个节点容易挂,搞出来不可用。
查mongod.log,每次宕机都印着"Gotsignal:1 1 (Segmentationfault)",但这信息没啥用,网上搜不到解决法。

有人猜,MongoDB老宕机,八成是并发查询压力太大,热数据没在内存里,非得去文件系统读,容易超时,然后进程就卡死了。
我试了,要是把查询(就那种通过主键查一条记录的)客户端关掉,宕机概率小多了。

再看看每台MongoDB的内存(用db.serverStatus()瞅"mem"部分的"resident"),发现热数据才占不到2 G,可数据文件有近2 00G。
估计是老宕机,热数据一直没完全加载到内存。

可即便这样,还是会有宕机。
为了省得老手动重启,我在每个replica的服务器上写了段Shell脚本,每分钟检查下MongoDB进程挂了没,要是挂了就自动重启。
这样确实能让MongoDB一直跑着,但发现collections里多了好多损坏的数据,甚至冒出来一些奇怪的collections,比如一个叫"jingdong"的,居然有"ingdong"、"jing"、“jingdon”这些。

没办法,只能关掉那个自动重启的脚本。
顺着这事儿查,终于在MongoDB官网的JIRA上找到一个用户反馈的情况跟我们一模一样。
最后他说的解决法是把客户端的Java驱动jar包从2 .9 .1 退回2 .8 .0。
我们也这么试了,果然再没宕过。

linux服务器配置自动休眠

嘿,小伙伴们,想要给Linux服务器省点电又不想错过重要信息?那就得学会设置自动休眠啦!下面我来一步步带你过过这个关,简单又实用哦。

首先,你得明白自动休眠这玩意儿。
它就是一个电源管理小技巧,能让服务器在没人用它的时候自动进入省电模式,延长使用寿命,一举两得。
当服务器进入休眠状态,内存里的数据会先被备份到硬盘上,然后大部分硬件设备就关掉了,只保留一点点电量维持必要功能。

接着,配置之前得做点准备: 1 . 选休眠方式:想要快速唤醒就用“挂起到内存”,数据保存在RAM里;如果想断电后也能恢复,就选“挂起到磁盘”,但唤醒会慢点。
2 . 检查硬件是否支持休眠。
3 . 确保所有驱动都是最新的,这样休眠功能才能正常运行。
4 . 到BIOS里看看休眠选项是不是开着的。

然后,我们来设置自动休眠:
用对了命令:挂起到内存就用systemctl suspend,挂起到磁盘就用systemctl hibernate。

设置自动休眠:编辑/etc/systemd/logind.conf文件,加两行代码:IdleAction=suspend和IdleActionDelay=1 0min。
设置好保存后,重启systemd-logind服务:sudo systemctl restart systemd-logind。

如果你想调整休眠时的具体行为,可以修改/etc/systemd/sleep.conf或者相关配置文件。

最后,别忘了,操作的时候得有root或者管理员权限。
而且设置自动休眠的时候,要根据服务器实际的使用情况来平衡节能和性能哦。

Linux中mysql服务经常自动停止,求大神解决!!

MySQL自动备份这个功能有时候真是让人头疼,因为它可能会在备份过程中先关闭服务,导致服务器启动时无响应。
别急,我来告诉你怎么解决。
首先,打开服务管理器,找到MySQL服务,调整“恢复”选项卡,把“第一次失败”设置为“重新启动服务”,记得把时间设置为“0”哦。
这样一来,服务意外停止后就会立即重启。
不过要注意,如果直接在任务管理器中结束MySQL进程,你会发现它死活不罢休,这时候你就要记得把刚才的设置改回来。

再来说说连接问题,这也会导致服务频繁重启。
解决方法很简单,登录MySQL后,设置最大连接数,比如5 00,然后查看进程和系统参数,最后退出。
想知道当前最大连接数?用mysqladmin命令或者phpmyadmin里的参数列表就能查到。
不过,重启后这个数会重置,所以得重新设置。

还有个办法,就是直接修改配置文件。
Windows下是my.ini,Linux下是my.cnf。
找到max_connections这行,修改成你想要的连接数,然后重启MySQL。
不过,不同系统、不同版本的MySQL配置文件路径可能不同,Windows下还可能有一个在C:\Windows目录下,得一起改。

这MySQL真是让人又爱又恨啊,不过掌握了这些技巧,相信你的数据库运行会更顺畅!