Linux运维和开发那个好好还是开发好?

Linux运维工程师的前景到底怎么样?
很多人说Linux/unix更好,更稳定,其实不然。企业为什么要用 它们,其实是本着节约成本和创造价值的目的。
服务器操作系统的软件投入和服务投入是相当大的经费,这也是现在为什么开源免费的CentOS和 FreeBSD越来越受欢迎的原因之一。
再说下硬件的负载均衡器,我说下大家最为熟悉的F5,性能一般的17万;性能越好,价格也水涨船高。但其实许多企 业所需要的Linux集群环境其实并发不是大太,完全可以用开源免费的软件来代替,例如LVS、Nginx,而这些软件一般都是部署在Linux上,这也是近年来Linux越来越受欢迎的原因之一。
很多Linux运维工程师会陷入一个误区:认为自己与其他运维岗位的区别就在与自己学了Linux。
但是Linux仅仅是操作系统,重要的是其上的应用。与学习Linux的一个误区类似,Linux运维工程师的精力只是局限于Linux本身,从Linux的操作到Linux的内核,也不管自己到底要干嘛;但是系统毕竟是拿来用的,学习使用Linux的目的是创造效 益,如果不是仅仅制作Linux系统,不是加入Red Hat这样的专业Linux发布版厂商,那么你在学习了Linux基础后就跟掌握了Windows没两样,很显然这是不够的,你还需要更进一步的学习:选 择Linux上的应用,或者Linux上的软件开发,当然还有数据库方向。
从这里开始,才真正涉及到Linux运维工程师前景的问题。
下面我就这三方面详细说明下:
a)Linux的系统、网络、服务、集群、网站、网络应用方向:
Web应用服务器,如sina、百度等大型网站
Mail应用服务器,如163或外企mail系统等
中间件或J2EE服务器,如为JBOSS Weblogic做平台
网络应用等。
b)嵌入式开发、UNIX/Linux应用系统开发,Linux内核驱动开发方向,主要有以下几类:
Linux下的C/C++ 系统程序开发
Linux平台Java体系开发和PHP开发
Linux下的图形界面开发
Linux底层内核/驱动开发
嵌入式Linux开发等
c)Linux下的数据库,如Mysql、oracle和windows下的SQL Server及DB2等。
数据库的重要性我就不重复了,而DBA的作用称得上举足轻重了:在技术类岗位的薪资待遇上,总监之下就是DBA了。
以上是Linux/unix发展的三个方向,大家可以在平时工作和学习中有所偏重,三个专业精通一个即可。注意我这里说的是精通,而非仅仅熟悉的程度。
如果按照地域划分,Linux/unix系统运维方面的工作适合在北京、上海、深圳和广州,开发比较适合在杭州和南京等地区。
我这里想说的是:
初学Linux/unix的同学,建议可以以RHEL/CentOS为主,在找工作中尽量不要想到待遇问题,在工作实践中,尽量熟悉shell和一些基础的网络应用,内网开发服务器的配置环境一定要熟悉;如果有机会出外做项目的,一定要兢兢业业,因为这个是成长得最快最好的时候。
另外,无论是学习还是施工期间,有关环境配置一定要形成文档,尽量写得详细和完善,这样无论是对自身技术提高还是跟同事进行工作交接都是非常有帮助的;
如果没有对外项目的机会,可以写技术型博客,详细记录自己的学习过程。如果想进一步提高自己的水平,建议多上一些跟Linux/unix有关的论坛,跟一些同行或技术大牛交流,这样提高起来也非常快。
本文来源: /?shzmt
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点随笔- 112&
&&&&&&&&&&&
linux运维发展常见的就是下面两条路线:
第一条:运维应用--&系统架构--&运维开发--&系统开发
第二条:运维应用--&应用dba--&架构dba--&开发DBA
下面详细每个阶段的职位说明(以北上广为例):
01. 运维应用级别:
这个阶段就是玩别人的软件,例如:linux,nginx,mysql,php,nagios 大多数的linux运维工程师,网络工程师,系统工程师都是这个阶段。 这个阶段的工资平均3-10K。处在这个阶段的伙伴们要注意了。
这里属于金字塔的底端,工资是相对比较低的。
02. 系统架构级别:
这个阶段就是用已知软件架构大规模集群方案以及实现各种技术方案
这个就是所谓的系统架构师,如果是程序开发就是程序架构师。
这个阶段的工资平均10K-30K,属于运维应用上层,需要靠技术,
沟通,思想三条线通力配合才能达到这个水平。
03. 运维开发级别:
这个阶段就是利用已知语言,开发基本的应用层工具,例如:web管理系统
这个阶段的平均工资大概10-30K,如果具备前两个运维应用和系统架构的积淀,
那么工资30-60K很轻松。
04. 系统开发级别:
这个阶段就是修改开源的软件,或者开发新的服务软件(例如:也开发一个web软件,存储软件)与底层软件(例如:OS)
这个阶段的平均工资大概20-60K,如果具备前两个运维应用和系统架构的积淀,工资更高!
05. 数据库管理和架构:
这个阶段就是也主要是玩别人的软件,但是由于数据相对更重要,所以工资要一些。
数据库也需要架构,所以数据库的高级阶段工资也会较高,数据库开发职位不多,就不说了。
这个阶段的工资平均10K-40K。要求至少第一层运维应用的能力。其他能力有就是加分。
阅读(...) 评论() &查看:26810|回复:81
Lz毕业2010年,三本院校,从事将近6年的IT运维,现在是在国内物流第一公司总部担任linux应用额运维工作,包括array,F5,lvs,jboss,tomcat,nginx,apache等,数据库主要是负责mysql,也完成过主从复制,异地灾备的项目,毕业以后从事一年helpdesk,因得一位高人同事的指点从事linux,我没有网络基础,因为经常看到很多网络工程师想转行linux,我有很多感触,想说出来和大家讨论下:
& &linux运维在互联网公司需求大,所以看上去很热门,但是本质原因是互联网工资高,福利好,管理人性化,这并不是linux运维本身工作带来的,其实这份工作看起来很宽泛,但是非常挑平台,在深圳除了腾讯以外,想找到一家重视运维工作是非常难的,&&也许有人说:那是你学的不够深入,其实80%的linux工作不会超过我上面所描述的内容,对了,你肯定要说自动化运维,随着salt,这些工具的平民化,会严重限制的shell,Python的使用,对运维个人发展非常不利,有哪一家公司会专门选一个人做shell,在深圳又有多少公司能给出python的工作??
& & 是的,我承认,能开出python工作的都是年薪20万以上,但是需求量呢,linux运维的人才已经严重饱和,我平心而论,只要你选的公司是互联网背景,只要你真心掌握了鸟哥和马哥,绝对可以胜任90%的工作,这个门槛太低了,LZ现在的公司比不上腾讯,华为,但是绝对是深圳排名前10的公司,我们组的同事经常感觉到linux前途堪忧,公司需要的是服从指令的员工,是配合开发处理线上故障的人,只要能吃苦,不需要你对自动化运维,对架构有多深的理解,想想看吧,大公司都是如此,小公司的老板目光更加短浅,难道会比大公司更重视运维,
& &&&不是说运维不好,而是linux太挑平台了,
& && &linux运维看上去工资不错,但是要看怎么比,拿LZ自己来说,从事linux将近5年,税前11K,公司正式员工,刚进公司的外包员工,工作满一年的java没有低于13K的,上个月公司来了一批研究生应届生,前端直接给出20万的年薪,人家起步就比自己高了好几个等级,说这么多没别的意思,想学linux的同学真心要想清楚,不可能每家公司都让你天天研究架构,自动化的,自己将近30了,现在天天想转行,以上都是纯属个人意见,给想学linux的同学一点意见,不惜请勿拍砖!!!!!也欢迎大家进来讨论
自己顶下,关注linux朋友这么多,都进来谈谈吧,
助理工程师
初级工程师
危言耸听,只要明确方向,收获和付出还是可以成正比的,我公司一个同事的之前做设计,却成功转型web前端工程师,年薪不少于11万,深圳!linux运维不懂脚本和python,工作很吃亏,就拿今天会上BOSS所说,我看重是:高效率,进取心,创新!如果这三点都没达到,趁早拿离职表给我批!
本帖最后由 zouqingyun 于
00:09 编辑
刚健身完,看了楼主的文章,对楼主的一些想法有不同理解。
先说一下我自己吧,90年专科,工作三年,待遇和楼主差不多吧,之前工作主要是做网络相关的,目前工作是在一间普通互联网公司任运维工程师半年左右,说实在的,我的linux水平很可能比不上楼主的,或许在很多运维的兄弟里我目前只算中下水平吧,不过我也在一直努力着,希望能得到快速提高。
& & 楼主的文章里我看到一些关于待遇方面的,我觉得钱嘛,肯定越多越好,大部分人都会这样想,不过我也觉得要能拿到心安理得,要让公司给得爽快,觉得值。当然绝大部分老板还是很聪明的,谁给他创造的价值高,待遇自然就高。对于运维技术人员来说,所创造的价值可能就是 1、解决线上故障;2、提高服务冗余性,健壮性;3、有创新思维,提高效率,为公司节省成本;4、可以积极推动困难的项目;最终做到运筹帷幄之中,决胜千里之外。有时候技术很高的人,待遇不一定高,待遇很高的人一定是对公司某些方面很重要的人。
& & 据我了解的,做运维的方面工作,工作三五年,技术过硬20K以上应该还是比较多的,当然实际上也有很多人达不到这个水平,这或许跟公司的经济实力和职位角色有关,也可能跟个人的能力有关吧。有些人拿很高工资,背后一定是付出过很多汗水的,熬夜看书学习啦,为解决重大故障连续通宵啦,常常在想怎么幫公司提高冗余,提高效率等等,大部分人都不是随随便便就能成功的 也不说开发的一定比运维待遇好,只要自己喜欢工作得开心,无论是开发的还是运维的,只要自己真的努力付出过,我相信肯定都是可以拿到比自己期望值更好的待遇。
攻城狮还在苦逼中……
上面的兄弟说话很中肯,Lz当年为了转行linux,半年没上班,在培训机构化了5个多月的时间一直巩固知识,可能是确实现在感觉应用运维瓶颈这块遇到了,我给自己定位的方向是自动化运维,但是现实中,2家大型互联网公司实质的工作还是借助工具,原因很简单,互联网运维需要同时支持多个开发组项目工作,也许你能选择加班,但是公司就一定要求在规定时效内做出来。
中级工程师
任何行业都是有来的有离开的。
助理工程师
坚持梦想得有物质做基础啊
高级工程师
有道理。。
高级工程师
看单位吧,互联网企业能好点
我大学毕业后也是做了2年的callcenter和helpdesk,然后学习了windows Server的管理,去到一家公司做SA,做了2年之后,自感windows Sever 岌岌可危(跟楼主的感觉差不多),winServer 服务平台自己都搭烂了,感觉前途暗淡无光。偶然间接触了马哥,遂报班上课。感觉发现一篇新大陆,linux服务中对于原理的掌握,让我回头审视winserver的时候精进非常。遂感觉还是Linux吃香,半年挣扎,Sever端的troubleshooting能力跃居全组第一。去年考上北航的研究生,遇上了有名的林广艳教授,上了她的软件工程过程一课,遂感觉自己只不过是工程过程中最后一节部署和运维中的一个小棋子罢了。自感过去对自己所视太高,现在看来不过坐井观天。天外有天,人外有人,自己这辈子最大的愿望还是好好做自己的运维,服务好上层的设计,编码和测试。其实运维不妨多关注一下编码和测试。比如java,sevlet,jsp,tomact,在保证他们的高可用和负载的情况下,多和他们交流。将自己的对应用服务器和网站编码的看法和他们交换。
资深技术经理
楼主没看清楚都是什么人转去Linux的。
Linux运维门槛肯定比去做web开发的低,这就是为什么那么多人报Linux的原因。
楼主你平心而论,研究生刚开始工资是很高,一是学历那里,二是做开发可比运维累多了经常加班,那是拿生命换钱的,而且楼主工作了五六年工资还是11k,一是你能力的问题,二是公司的问题工资有点低。你应该考虑转型了
看到这么多朋友回复,楼主也感觉受益比较多。。
& &Lz现在的硬伤确实就在开发能力这块,再高工资的运维就需要开发经验了,打算好好把python啃一下,有时候想甚至从头去转开发,大公司工作久了,3年以上就感觉温水煮青蛙,稳定肯定没问题,基本不可能失业,但想跳出目前工作范围....难!
优秀技术经理
叫我们这些西部的人,情何以堪··········
中级工程师
我们公司也是做互联网应用的,但是却没有运维,基本都是LINUX开发人员代着做,老板也觉得没有招运维的必要;以前我也是做技术,主要是售前,后来转到市场部门了。
像技术支持、维护运维类工作,都不能直接创造经济效益;但开发和市场销售却不一样;经济收益决定个人收益,这是不用怀疑的。
所以平均而论,一个公司,一般销售人员比技术支持类人员工资要高,研发人员比销售人员工资要稍高(当然你非要把做的很好的和做的一般的不同职业者进行对比,我也不好说什么)IT维护类工作门槛低,加上各种媒体惯用的能把稻草说成金条的方式,使得IT维护人员不断增加,人员相对过剩;另外IT技术类吃的本身是年轻饭,岁数到了,就必须转职了
当然坛子里有很多混的很好的运维类仁兄,年薪大几十万,我承认大有人在,但各位必竟是少数人,是行业内食物链顶端的人物;我要说的是你们的发言代表不了行业的前景,因为包括我在内很多人到不了你们的高度
到这里我想说的是,技术不是唯一出路,能选择的时候,可以多给自己一个选择。
本帖最后由 superzxh 于
09:06 编辑
剑本凡铁,因执拿而通灵,因心而动,因血而活,因非念而死
助理工程师
虽然不知道怎么说
首先,看到po主说的,表示我这些做deskhelp的已经是羡慕至极。毕竟很多人做技术,最基本能经常用命令熟悉得不得了的已经劈掉一大部分人了
至于做到一定程度就说什么行业没前途。。。
水坛一大堆人天天吐槽。吐槽有何用?若是吐槽来释放自己内心不满,随便放随便我就不继续看了~若是真的吐槽这个没前途那个没前途。只能说,当前状态并不是属于自己最佳的状态。也许是处于逆风而行,也许面临危机。
怎么说呢,心态调整是最基本的
其次,既然做得下这份工作,看到没前途只是没看见这份工作中,需要的能力跟实际的能力的差距。这个差距能否胜任?能否缩小?能否在磨合中提升?
当然,你可以当我这些话当废话看。
我也在这里面看到,我最少知道缺了什么。。。
这个社会,已经不是学校中老师说的:有一项技能已经足够了
这个社会,有单个技能远远不够,有多个技能也同样远远不够。问题在哪里?
你那技能精通了么?你那技能能脱离三个五年还记得么?
还是别的能力制约着你的发展?
这个PO主得好好想想了
51CTO学院讲师
看到这里,想跟大家分享一些Linux运维行业的一些心得:
<font color="#、运维这行业随着互联网的发展,职位的需求肯定是越来越多,不会出现什么饱和,最大的饱和就是很多人工作3-5年还停留在原地,这类人比较饱和。
<font color="#、我们不要温水煮青蛙了,每天必须要成长,不仅是技术成长,同时心态也要成长。
<font color="#、心态一定要放正了,积极向上去面对任何的困难。
<font color="#、薪资跟能力是成正比的,为什么有的技术很NB,但是薪资很低呢;而有的人技术不精通,但是薪资很高。归根到底还是跟每个人的选择有关系,跟每个人的心态有关,你的选择会决定你的结果。
最后愿与所有的童鞋一起共勉,在运维路上,一路相随,2015年我们一起加油!
本帖最后由 wgkgood 于
15:38 编辑
初级工程师
能转行还是都转行吧 做技术支持类的 始终无法直接产生效益,多给自己一个选择 不一定非得搞技术。查看:20898|回复:24
刚培训完& &出去找工作&&都是要经验& &又要懂硬件,windows,linux,网络设备(路由,交换,防火墙等等。。。)
我就学了cisco大概NA水平&&和linux基础&&还有linux服务的配置(apache,keepalived,vsftp,squid等等)&&感觉学运维的知识实在太多了吧&&学完这个服务搭建和配置&&过一段时间不用,又全忘了& &&&有时候好羡慕编程&&只学一样
我是硬着头皮走运维这条路,还是去学3年编程好呢?求指点···谢谢
引用:原帖由 zyai530 于
10:48 发表
25岁做运维 以后的道路就锁死了
25岁学3年的编程 出来年纪会不会太大也是没经验 没有项目
这个问题还真的有点难度啊
不过做什么都别做网管 好黑啊……
引用:原帖由 zyai530 于
17:06 发表
愿闻高见 没有,我是觉得让做网管的朋友多伤心啊……
做个不错公司网管,至少福利好点。,是吧……云办公趋势这么强烈,过个几年公司部署云,管理必然比现在方便得多,是吧……
哪个方向都不是关键,先选择一个方向,坚持3个月后再来看这个问题,这个时候你就不需要问别人了。自己会知道答案了。
方向很重要,时机把握,还有机遇 也很重要。编程现在学有点吃力,如果运维的话如果有linux基础 服务搭建 学起来轻松点!
还是看自己兴趣吧,
没兴趣很难坚持长久的
我毕业一年了,之前做开发
不过发现自己很喜欢LInux的技术
现在想转做运维,不过好像要求都很高
中级工程师
目测未来五年,电商会很火,LINUX需求很多;电商互联网公司,不缺钱,哈哈
微博求关注
助理工程师
现在才学编程太迟了吧。。。如果你有编程基础那还好。。。你以前做什么的?做运维一样不轻松,和网管是完全不同的方向,现在我都觉得有吃力
初级工程师
引用:原帖由 lizirong315 于
01:45 发表
刚培训完& &出去找工作&&都是要经验& &又要懂硬件,windows,linux,网络设备(路由,交换,防火墙等等。。。)
我就学了cisco大概NA水平&&和linux基础&&还有linux服务的配置(apache,keepalived,vsftp,squid等等)&&感觉学运维的知 ... 学开发吧,25岁我认为迟,现在大学生出来也差不多24 25的样子,如果之前有在学校学过一些,你可以再去找个培训机构学下,我目前也准备转IOS开发呢,做运维和做开发在老板眼里的价值是不一样的,一个是creator,一个是maintain,一个天一个地的,25岁做开发只要认真学还不迟的
中级工程师
开发去学吧。珍爱生命 远离网管
引用:原帖由 lizirong315 于
01:45 发表
刚培训完& &出去找工作&&都是要经验& &又要懂硬件,windows,linux,网络设备(路由,交换,防火墙等等。。。)
我就学了cisco大概NA水平&&和linux基础&&还有linux服务的配置(apache,keepalived,vsftp,squid等等)&&感觉学运维的知 ... 学编程也不是只学一样吧,起码还要懂点数据库,建议你到招聘网站上多了解一些职位要求,不管是Linux运维还是编程。
很多大神都说过,不管是哪行,只要肯用心,能坚持,就会有收获!Linux运维和编程,社会都需要,不好说哪个更有前途,只要学好了,都有出头机会!
根据你的情况,个人建议多往运维方向考虑。
初级工程师
引用:原帖由 zyai530 于
10:48 发表
25岁做运维 以后的道路就锁死了
25岁学3年的编程 出来年纪会不会太大也是没经验 没有项目
这个问题还真的有点难度啊
不过做什么都别做网管 为啥不能做网管呢?参与大型网络的搭建也是很有前途的啊,网管的门槛也低啊,上手和积累经验的过程快
主人,番茄要加鸡蛋 http://jiandan./
助理工程师
迷茫是因为努力程度不够罢了,运维也好编程也罢。。。选一个方向,狂啃上半年,你就知道自己想要什么了。。。当初我也是和你一样的纠结
初级工程师
引用:原帖由 zyai530 于
09:09 发表
就因为门槛低
老板看不起 同事看不起
说多都是累 对,你这说的都是事实。感同身受啊,工作低啊 还没呼来唤去的
主人,番茄要加鸡蛋 http://jiandan./
不如学linux开发?反正你也懂Linux,一举两得啊
实力,际遇,缺一不可啊,赞成将来linux会成为紧缺的缺口,有基础,学linux应该很好,
中级工程师
引用:原帖由 lizirong315 于
01:45 发表
刚培训完& &出去找工作&&都是要经验& &又要懂硬件,windows,linux,网络设备(路由,交换,防火墙等等。。。)
我就学了cisco大概NA水平&&和linux基础&&还有linux服务的配置(apache,keepalived,vsftp,squid等等)&&感觉学运维的知 ... 翻一遍论坛的职业生涯帖子吧,至于公司的种种要求,其实没有那么严格的,你可以不理会,有些公司需要的就是白纸型的人才,或者某个公司你想要的职位正好有个IT同事急着离职,刚好你过去补上,多投简历多面试,你会基本上能够找到方向的,祝你成功,记得分享经验哦。
建议:从事做项目的工作,没经验起薪可能会低一点,辛苦点累点没关系,为以后高薪打基础,千万别干办公室网管或者外包桌面支持类的工作,否则这辈子,娶老婆都还得家里面支持,莫谈买房子的事了。
十二年IT职业生涯心得---致我们终将逝去的青春(连载)
/thread-.html&&
希望我这边文章能帮你找到方向。Linux运维打怪升级篇,从苦逼到牛逼的必备装备
积累经验篇做运维也快4年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点。运维工程师&是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化。如:今年大数据,人工智能比较火。。。(相对表示就是 python 比较火)前面也讲了运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能算非常精通吗,但是熟悉和熟练还是相对可以的。初级篇详见:拓扑详见:中级篇从我后面面试经历和面试别人的经历。有些人认为,其实运维就是部署某个软件,设置些基础功能,就算会运维了。举个例子:安装LAMP,LNMP,就感觉部署方法我都掌握了。其实网上大多数都有一键安装脚本啥的根本没有啥技术含量,在面试官眼里,这些都不是你的亮点。基本到了公司一般环境架构都是部署好的,很少需要你去变动环境架构。就算你安装好 LNMP 架构你熟悉里面的原理吗,熟悉 Nginx 优化吗,熟悉 MySQL 优化吗?再举个例子:我面试遇到的问题,面试官问你既然熟悉 LNMP 架构,那么 Nginx 反向代理的作用。你应该不是说出懂这个软件和配置,你尽可能的说怎么优化,怎么深入提高网站性能。1、使用反向代理可以理解为7层应用层的负载均衡,使用负载均衡之后可以非常便捷的横向扩展服务器集群,实现集群整体并发能力、抗压能力的提高。2、通常反向代理服务器会带有本地 Cache 功能,通过静态资源的 Cache,有效的减少后端服务器所承载的压力,从而提高性能。下面说说运维在工作中需要掌握的核心技术注意,这是在工作中掌握的,在学习中很难掌握。1、第一条最主要的排错●&分析部分程序不能运行或没有按预想结果运行的原因,对程序运行跟踪,查看系统调用的过程。● 较深入的系统瓶颈点分析。查看剩余内存:1234free&-m#-/+&buffers/cache:&&&&&&&6458&&&&&&&1649#6458M为真实使用内存&&1649M为真实剩余内存(剩余内存+缓存+缓冲器)#linux会利用所有的剩余内存作为缓存,所以要保证linux运行速度,就需要保证内存的缓存大小系统信息:123456789101112131415uname&-a&&&&&&&&&&&&&&#&查看Linux内核版本信息cat&/proc/version&&&&&#&查看内核版本cat&/etc/issue&&&&&&&&#&查看系统版本lsb_release&-a&&&&&&&&#&查看系统版本&&需安装&centos-releaselocale&-a&&&&&&&&&&&&&#&列出所有语系locale&&&&&&&&&&&&&&&&#&当前环境变量中所有编码hwclock&&&&&&&&&&&&&&&#&查看时间who&&&&&&&&&&&&&&&&&&&#&当前在线用户w&&&&&&&&&&&&&&&&&&&&&#&当前在线用户whoami&&&&&&&&&&&&&&&&#&查看当前用户名logname&&&&&&&&&&&&&&&#&查看初始登陆用户名uptime&&&&&&&&&&&&&&&&#&查看服务器启动时间sar&-n&DEV&1&10&&&&&&&#&查看网卡网速流量dmesg&&&&&&&&&&&&&&&&&#&显示开机信息lsmod&&&&&&&&&&&&&&&&&#&查看内核模块硬件信息:1234567891011121314151617181920more&/proc/cpuinfo&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看cpu信息lscpu&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看cpu信息cat&/proc/cpuinfo&|&grep&name&|&cut&-f2&-d:&|&uniq&-c&&&&#&查看cpu型号和逻辑核心数getconf&LONG_BIT&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&cpu运行的位数cat&/proc/cpuinfo&|&grep&&#39;physical&id&#39;&|sort|&uniq&-c&&&&#&物理cpu个数cat&/proc/cpuinfo&|&grep&flags&|&grep&&#39;&lm&&#39;&|&wc&-l&&&&&#&结果大于0支持64位cat&/proc/cpuinfo|grep&flags&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看cpu是否支持虚拟化&&&pae支持半虚拟化&&IntelVT&支持全虚拟化more&/proc/meminfo&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看内存信息dmidecode&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看全面硬件信息dmidecode&|&grep&&Product&Name&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看服务器型号dmidecode&|&grep&-P&-A5&&Memory\s+Device&&|&grep&Size&|&grep&-v&Range&&&&&&&#&查看内存插槽cat&/proc/mdstat&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看软raid信息cat&/proc/scsi/scsi&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看Dell硬raid信息(IBM、HP需要官方检测工具)lspci&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看硬件信息lspci|grep&RAID&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看是否支持raidlspci&-vvv&|grep&Ethernet&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看网卡型号lspci&-vvv&|grep&Kernel|grep&driver&&&&&&&&&&&&&&&&&&&&&&#&查看驱动模块modinfo&tg2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看驱动版本(驱动模块)ethtool&-i&em1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#&查看网卡驱动版本ethtool&em1●&使用分析系统分析web日志。(如逆火软件,)●&分析系统性能瓶颈点(IO/memory/cpu,常用工具,top命令中shift组合键的特殊用Sar/vmstat/iostat/ipcs)日志管理常用命令:12345678910history&&&&&&&&&&&&&&&&&&&&&&#&历时命令默认1000条HISTTIMEFORMAT=&%Y-%m-%d&%H:%M:%S&&&&&#&让history命令显示具体时间history&&-c&&&&&&&&&&&&&&&&&&#&清除记录命令cat&$HOME/.bash_history&&&&&&#&历史命令记录文件lastb&-a&&&&&&&&&&&&&&&&&&&&&#&列出登录系统失败的用户相关信息&&清空二进制日志记录文件&echo&&&/var/log/btmp&&last&&&&&&&&&&&&&&&&&&&&&&&&&#&查看登陆过的用户信息&&清空二进制日志记录文件&echo&&&/var/log/wtmp&&&默认打开乱码who&/var/log/wtmp&&&&&&&&&&&&#&查看登陆过的用户信息lastlog&&&&&&&&&&&&&&&&&&&&&&#&用户最后登录的时间tail&-f&/var/log/messages&&&&#&系统日志tail&-f&/var/log/secure&&&&&&#&ssh日志2、优化优化可以说是运维最吃香的技能,基本会优化的运维普遍工资很高,而且优化是要承担风险的,并不是网上搜个文章改一下配置文件或者参数就叫优化了,这样很容易造成宕机。优化是根据实际的现场环境硬件各个参数进行部分优化,提高软件性能和网站性能。这个我只能讲半知半解,当时优化mysql和tomcat参数也是根据网上文章和官网文档查找参数在虚拟机上测试然后查看性能。成本优化,性能优化。这里我给出 tomcat 优化 jvm 参数(做过相应测试才放到现场环境的):(记住无监控不调优)-标准参数,所有jvm都应该支持-X 非标,每个jvm实现都不同-XX 不稳定参数,下一版本可能会取消serial collector 单线程 序列化parallel collector 多线程启动 jvisualvm.exe 监控 dump 内存溢出-Xms:初始堆大小-Xmx:最大堆大小-Xss:线程栈大小-XX:NewSize=n:设置年轻代大小-XX:NewRatio=n:设置年轻代和年老代的比值,如3, 标示年轻代:年老代比值1:3,年轻代占整个年轻代年老代和的1/4-XX:SurvivorRatio=n:年轻代中的eden区与2个Survivor区的比值。-XX:MaxPermSize=n:设置持久代大小收集器设置-XX:+UseSerialGC:设置串行收集器-XX:+UseParallelGC:设置并行收集器-XX:+UseConcMarkSweepGC:设置并发收集器回收统计信息-XX:+PrintGC-XX:+PrintGCDetails-Xloggc:filenametocmat 优化 确认有几个 jvm 虚拟机set JAVA_OPTS=-Xms4g-Xmx4g-Xss512k-XX:+AggressiveOpts 进攻型的优化选项,所有优化项都加上-XX:+UseBiasedLocking 优化锁,基本都要选上,偏执锁-XX:permSize=64m 原始区大小,最大300m 类多就设置大一点-XX:MaxPermSize=300m &-XX:+DisableExplicitGC //System.gc() 不显示调用gc-XX:+UseConcMarkSweepGC 使用cms缩短相应时间,并发收集,低停顿-XX:+UseParNewGC & 并行收集新生代的垃圾-XX:+CMSParallelRemarkEnabled 在使用UseParNewGC的情况下,尽量减少mark的时间-XX:+UseCMSCompactAtFullCollection 使用并发收集器时,开启对年老代的压缩,使碎片减少-XX:LargePageSizelnBytes=128m 内存分页大小对性能的提升-XX:+UseFastAccessorMethods get/set方法转成本地代码-Djava awt headless=true &修复linux下tomcat处理图标时可能产生的bug内存调优:1234567891011121314151617181920&C:\Program&Files\Java\jdk1.8.0_31\bin\java&&-XX:+DoEscapeAnalysis&-XX:+EliminateAllocations&-XX:+UseTLAB&-XX:+PrintGCDetails&-Didea.launcher.port=7540&&-Didea.launcher.bin.path=E:\java\IntelliJ&IDEA&2016.3\bin&&-Dfile.encoding=UTF-8&-classpath&&C:\Program&Files\Java\jdk1.8.0_31\jre\lib\charsets.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\deploy.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\access-bridge-64.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\cldrdata.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\dnsns.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\jaccess.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\jfxrt.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\localedata.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\nashorn.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\sunec.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\sunjce_provider.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\sunmscapi.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\sunpkcs11.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\ext\zipfs.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\javaws.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\jce.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\jfr.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\jfxswt.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\jsse.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\management-agent.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\plugin.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\resources.C:\Program&Files\Java\jdk1.8.0_31\jre\lib\rt.E:\java\new\out\production\E:\java\IntelliJ&IDEA&2016.3\lib\idea_rt.jar&&com.intellij.rt.execution.application.AppMain&aa.T02Heap&PSYoungGen&&&&&&total&38400K,&used&3994K&[0xd80,&0x0000)&&eden&space&33280K,&12%&used&[0xdb8,0xe00000)&&from&space&5120K,&0%&used&[0x0,0x0000)&&to&&&space&5120K,&0%&used&[0xe00,0x0000)&ParOldGen&&&&&&&total&87552K,&used&0K&[0x00,&0xd80000)&&object&space&87552K,&0%&used&[0x0,0xd80000)&Metaspace&&&&&&&used&3072K,&capacity&4494K,&committed&4864K,&reserved&1056768K&&class&space&&&&used&329K,&capacity&386K,&committed&512K,&reserved&1048576KHeap&PSYoungGen&&&&&&total&38400K,&used&1147K&[0xd80,&0x0000)&&eden&space&33280K,&3%&used&[0xdecb8,0xe00000)&&from&space&5120K,&0%&used&[0x0,0x0000)&&to&&&space&5120K,&0%&used&[0xe00,0x0000)&ParOldGen&&&&&&&total&87552K,&used&0K&[0x00,&0xd80000)&&object&space&87552K,&0%&used&[0x0,0xd80000)&Metaspace&&&&&&&used&3072K,&capacity&4494K,&committed&4864K,&reserved&1056768K&&class&space&&&&used&330K,&capacity&386K,&committed&512K,&reserved&1048576K&&线程本地缓存使用eden的,开启就会使用更多tomcat 前任何参数没参加大概每秒605 &调优后大概每秒435 接近3倍的结果3、开发技能优选 shell 和 python,现在 shell 无法满足你的需求或者效率很低,那么选择自动化 python 是最好的选择。现在普遍招聘需求要求,会写 shell 或者 python,perl 脚本,个人选择还是选 python。python 这门语言上手比较快,容易理解。python 在服务器管理工具上非常丰富,配置管理(saltstack) 批量执行( fabric, saltstack) 监控(Zenoss, nagios 插件) 虚拟化管理( python-libvirt) 进程管理 (supervisor) 云计算(openstack) ...... 还有大部分系统 C 库都有 python 绑定。对于流程确定的事情,最终一定是纳入系统管理的体系,写成程序,成为系统的一部分。而不是无法复用游离与整体的各种脚本。随着云计算时代的来临,中小型公司,不需要运维了。大型公司,没有工程开发能力的运维,是没有竞争力的。最重要的学好 python&可以涨工资,可以涨工资,可以涨工资。(重要的事情说三遍。)目前本人也是在学 python,正在把以前 shell 脚本的实例转换成 python 脚本。python实例手册(一直在看)下载链接:4、意识篇1) 安全意识:运维人员的权限很大,所以一定要保证帐号/私钥的安全。● 最好使用加密工具存储。比如truecrypt,lpassword●&基于本地存储。切勿用网盘,也不建议用lastpass等●&ssh私钥添加密码2) 磨刀意识:关于任何操作配置,最好先搞明白操作或配置的原理,然后再去操作。应一句话叫做“磨刀不误砍柴功”,而且对于类似的操作可以举一反三。3) 计划意识:复杂的变更操作比如多台主机以及牵涉到san存储,最好先作 操作计划,写计划文档,详细致每条命令,然后请高手帮忙审核。 这样能最大程度使整个操作过程安全。如果是重要的客户业务系统,操作最好有回退方案,而一旦变更失败,客户可以在短时间内将业务回退。4) 记录分享意识:遇到自己认为较特殊的案例时,记得要写 案例过程及分析的文档。也方便自己以后翻看,或者和其他兄弟分享,作知识的传播以便于大家以后都能少走弯路。5) 监控意识:运维来说,监控是非常重要的,监控是发现系统各种异常的眼睛,所以运维应该和监控紧密配合。6) 业务意识:尽量了解维护的各主机上业务类型,以及各主机业务之间的关联性。因为任何维护工作都是为主机能提供业务服务的,当某业务中断,能最快的知道与此业务相关的主机群,从而缩小故障排查范围,最快定位故障。附上运维思路拓扑图:可以看看:意识是很重要,并不是你技术很牛,学的技术很多很熟,就不代表你不需要运维意识,其实领导很看重运维意识的,例如有没有做好备份,权限分配问题,平台测试情况,故障响应时间等,这些都是意识,而不是你学了很多技术自认大牛了,平台发现故障你又没什么大不子,以为很简单的问题喜欢处理就处理,不需要向其它部门反馈等,领导不是看你的技术如何,而是看你的运维意识如何,你没运维意识,技术再牛也没用,只会让其它部门的人跟你不协调。要知道做IT这行是苦B的,需要无尽的学习,不学习只会被淘汰,不想被年轻的淘汰,就只能不断增值自己,不然不是你工资无法提升,而是你无法再从事这行。这个世界,在悄悄惩罚不改变的人...本文出自 “” 博客
申请试用 收到申请后商务经理会尽快与您联系
提交 不了,谢谢
技术咨询已转移到管理后台,请先登录 即时通讯云使用者请在应用详情页面咨询客户互动云使用者请进入管理员模式咨询

我要回帖

更多关于 java运维和开发哪个好 的文章

 

随机推荐