(1)首先使用 xrandr 命令列出当前所能检测到的分辨率,如一台显示器,最佳分辨率为 1440×900,由于
未能正确检测,使用 xrandr 命令结果如下:
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
VGA1 connected 1440×900+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1360×768 59.8
1024×768 60.0
800×600 60.3 56.2
848×480 60.0
640×480 59.9 59.9
可以看到当前使用的显卡是 VGA1(后续显示模式在此显卡上添加),列表中并无 1440×900 的分别率可用。
(2)这时可以使用 xrandr 命令新增显示模式,由于显示模式有一定的格式,如果不知道如何配置,可以通过
cvt 来获得。
(3)cvt 使用方法:cvt X Y,X 表示分辨率宽度,Y 表示分辨率高度。如生成 1400×900 的分辨率,可使
用命令:
cvt 1440 900
默认刷新率为 60.0Hz。生成以下模式:
# 1440×900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline “1440x900_60.00” 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
(4)将 cvt 得到的显示模式使用 xrandr 命令添加:
sudo xrandr –newmode “1440×900” 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
sudo xrandr –addmode VGA1 1440×900
sudo xrandr –output VGA1 –mode 1440×900
(5)这时就可以在显示器分辨率设置里使用 1440×900 的分辨率了。
(6)可能在每次开机时,又不能使用设定好的分辨率了,使用如下命令:
sudo gedit ~/.profile
在 ~/.profile 最末尾添加修改分辨率的命令:
复制代码
xrandr –newmode “1440×900” 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr –addmode VGA1 1440×900
xrandr –output VGA1 –mode 1440×900
重启系统后再登录即可,此时再用 xrandr 命令,即可看到新添加的分辨率。
作者归档:aichiao
关于FireFox的启动速度及优化
FireFox V2.0来了,IE V7.0也来了,一场大决战正在上演着,对于2者来说,各有优缺点。在正式开始接受、使用FireFox之前我一直使用傲游(Maxthon-原名 MyIE2), 个人感觉是很不错的浏览器。它是一款免费浏览器,乃国人编写!很N的,也支持插件功能。现在Microsoft已经正式支持其开发了…. Stop!偏题了。不过还是想说一句:遨游很不错!
FireFox的确也不错,之前我给GFans.org上写几篇文章时 截图的浏览器是FireFox Plus,加上很多插件,加上了GoogleToolbar 和替换了原有的Skin…很多人留言或者发信给我,询问关于我浏览器的问题,都说很漂亮…
不过FireFox的启动速度确实不敢恭维了!我家里电脑1.8G的P-M,内存1G,显卡128MB,启动起来也需要5-6秒左右的时间。而遨游仅需要1秒!可能是因为我插件加载很多的缘故,(我的常用插件26个),但毕竟FF的插件很棒 让我难以割舍!
其实很多网站/博客上也都曾提及FireFox的启动速度之法。其中最有名的要数:Firefox Preloader来提高速度了。不过我今天要讲的,是全面的!最详细的!加快启动速度之法,可以说我尽量做到是有史以来讲解最全面的优化手段。全部原创 收集整理 (以下为Windows为例 Linux可以参照)
- 主页设定:about:blank
- 取消启动时候:检查是否为默认浏览器
- 在启动ff的快捷方式里面加入启动参数: /Prefetch:1,也就是比如:
如 “C:/Program Files/Mozilla Firefox/firefox.exe” /Prefetch:1 - 另外在你的 FF 快捷方式后面加上 -turbo (FF的启动速度 也会加快)
如 “C:/Program Files/Mozilla Firefox/firefox.exe” -turbo - 扩展:使用常用的,把不常用的删除,以及对于产生内存泄漏的扩展尽量不用,或者少用 (一般4-5个,如果电脑内存很大可以多用增强FF功能)
- 取消:FireFox自动更新功能,包括FireFox扩展的自动更新 (建议定期手动更新)
- 关于FireFox的Theme(主题),尽量不要使用体积很大的Skin (体积越大 加载越慢)
- 定期清理网页缓存,Cookies,等等…
- 使用软件加速:
- Mozilla Optimizer
- 简介: 用于加速Mozilla、Mozilla Firefox、以及 Netscape
- 适用操作系统: Windows
- 官方连接: https://www.computerbase.de/
- Tweak Network Settings
- 简介: 这是一个FireFox扩展插件,它主要进行网路连线的改进,并提供 “one touch” (单键) 加速的功能。
- 适用操作系统: Firefox 支持的平台都可以使用。
- 官方连接: https://www.bitstorm.org/extensions/
- Firetweaker
- 简介: 可以进行加速外,还提供很多 Firefox 工具-选项中所没有提供的喜好设定。
- 适用操作系统: Windows
- 官方连接: https://www.emilsoft.net/products/firetweaker.php
- FireTune
- 简介: 该程序可更具电脑的等级,以及网路连线的速度不同,而进行调整适用于不同电脑的最佳化的参数.
- 适用操作系统: Windows
- 官方连接: https://www.totalidea.com/freestuff4.htm
- FasterFox
- 简介: 主要用于改善 Prefetch Links、Tweak Network、Page Load Timer、Block Popups 这几个项目。
- 适用操作系统: Windows
- 官方连接: https://fasterfox.mozdev.org/
- Firefox Preloader
- 简介: 它会将Firefox一些常用的组件预先装入内存中,让你的Firefox在启动时的速度大大的获得改善。但缺点也在于增大了内存占用。
- 适用操作系统: Windows
- 官方连接: https://sourceforge.net/projects/ffpreloader/
- Mozilla Optimizer
-
使用FireFox参数设定: ( 适用于FireFox 1.0+ 以上版本,版本不同可能有所差异 )
其实这部分就是FireFox的设置进阶篇了,一般菜鸟不会调用到这部分,也不建议你自己随便去乱改参数。下面正式开始:
FireFox 除了我们常用的“Tools”工具–“Options”选项,中进行各项设置之外,还有支持很多选项的手动修改,一般我们看不到,需要调用时候 在浏览器地址栏中输入“about:config”,然后界面就出来无数参数设定了。如同Windows操作系统的注册表一样,支持几种参数设定: “String”(字符串) 、“Integer”(整数)、“boolean”(真假值).我们可以设定其参数值,方法就是找到我们要的参数,然后双击它,在弹出框中把默认设置改为 我们需要的设定值。
(以下是建议的设定与参数 由不同作者所做,各有一些不同,您可以选择性使用,或全部使用.)原文來自[Speeding up Firefox the right way]
7.1 加快启动速度
- 通用设定:这裡的选项与您的电脑运算速度及网路速度无关,是每台电脑都可使用的设定.其他的选项请依您的电脑与网路
“content.notify.backoffcount”, 5
“network.http.pipelining”, true
“network.http.proxy.pipelining”, true
“network.http.pipelining.maxrequests”, 8
“plugin.expose_full_path”, true
“ui.submenuDelay”, 0
- 宽频/高速电脑使用者设定:这些设定适用60MB以上的记忆体,以及较快的宽频网路((A)DSL/Cable/fiber ).
“browser.cache.memory.capacity”, 65536
“content.interrupt.parsing”, true
“content.max.tokenizing.time”, 2250000
“content.notify.interval”, 750000
“content.notify.ontimer”, true
“content.switch.threshold”, 750000
“network.http.max-connections”, 48
“network.http.max-connections-per-server”, 16
“network.http.max-persistent-connections-per-proxy”, 16
“network.http.max-persistent-connections-per-server”, 8
“nglayout.initialpaint.delay”, 0
- 中等网速/高速电脑使用者设定:这些设定适用较慢的宽频网路((A)DSL/Cable).
“browser.cache.memory.capacity”, 65536
“content.max.tokenizing.time”, 2250000
“content.notify.interval”, 750000
“content.notify.ontimer”, true
“content.switch.threshold”, 750000
“network.http.max-connections”, 48
“network.http.max-connections-per-server”, 16
“network.http.max-persistent-connections-per-proxy”, 16
“network.http.max-persistent-connections-per-server”, 8
“nglayout.initialpaint.delay”, 0
- 窄频/高速电脑:56K/V9.0拨接网路适用
“browser.cache.memory.capacity”, 65536
“browser.xul.error_pages.enabled”, true
“content.interrupt.parsing”, true
“content.max.tokenizing.time”, 3000000
“content.maxtextrun”, 8191
“content.notify.interval”, 750000
“content.notify.ontimer”, true
“content.switch.threshold”, 750000
“network.http.max-connections”, 32
“network.http.max-connections-per-server”, 8
“network.http.max-persistent-connections-per-proxy”, 8
“network.http.max-persistent-connections-per-server”, 4
“nglayout.initialpaint.delay”, 0
- 宽频/慢速电脑:这裡的最后一项设定取消状态列的功能,以节省电脑的运算.
“content.max.tokenizing.time”, 3000000
“content.notify.backoffcount”, 5
“content.notify.interval”, 1000000
“content.notify.ontimer”, true
“content.switch.threshold”, 1000000
“content.maxtextrun”, 4095
“network.http.max-connections”, 48
“network.http.max-connections-per-server”, 16
“network.http.max-persistent-connections-per-proxy”, 16
“network.http.max-persistent-connections-per-server”, 8
“nglayout.initialpaint.delay”, 1000
“dom.disable_window_status_change”, true
- 窄频/慢速电脑
“content.max.tokenizing.time”, 2250000
“content.notify.interval”, 750000
“content.notify.ontimer”, true
“content.switch.threshold”, 750000
“network.http.max-connections”, 32
“network.http.max-connections-per-server”, 8
“network.http.max-persistent-connections-per-proxy”, 8
“network.http.max-persistent-connections-per-server”, 4
“nglayout.initialpaint.delay”, 750
“dom.disable_window_status_change”, true7.2 加快你 FireFox 网页浏览的速度 原文來自[这里]
“browser.turbo.enabled”, true
“network.http.pipelining”, true
“network.http.pipelining.firstrequest”, true
“network.http.pipelining.maxrequests”, 32
“network.http.proxy.pipelining”, true
“nglayout.initialpaint.delay”, 07.3 其他建议参数设定
“browser.display.show_image_placeholders”, true
“browser.chrome.favicons”, fales
“browser.urlbar.autocomplete.enabled”, true
“browser.urlbar.autoFill”, true
“network.http.pipelining.firstrequest”, true7.4 减少Firefox的内存占用量
点击右键,new –> integer –> 输入 browser.cache.memory.capacity –> 确定 –> 输入数值,推荐“16000”。
《钱:7步创造终身收入》干货
无论是财务安全,财务独立,还是财务自由。如何开发一种基本的生活技能,即投资理财能力,以赚到更多的钱,提高你的生活质量?
这本书的与众不同之处,可以概括为以下两点
其一,作者并不是仅仅告诉我们那些超级富豪用的是哪些投资策略,这些策略我们根本负担不起或者根本没有机会使用。作者还找到了解决办法,让那些投资策略普通工薪阶层也能负担得起,也有机会享受得到。凭什么只有那些特权阶层的人才能搭上非同寻常的投资机会呢?现在是不是到了我们可以和超级富豪在投资理财的赛场上公平竞争的时候了呢?
其二,你在这本书中可以找到任何人都可以做到的,没有任何门槛的,通向财务自由的捷径——简单7步投资法,它可以帮助你走向财务安全、财务独立,最终实现财务自由。
重点知识
1、赚钱这场游戏是有规律可循的!通向财富自由是有捷径可走的!
让每一个人都能掌握自己的财务,能够拥有一份终身投资收益,再也不用为赚钱去工作,实现真正的财务自由!可以放心的是,任何一个人都能实现真正的财务自由。即使在起步时你深陷债务泥潭,毫不夸张地说,只要多花一点儿时间,持续保持专注,运用正确的投资策略,不论是谁都能在几年之内获得财务上的安全,甚至是财务自由。
2、简单7 步投资法的具体操作方法如下:
第 1 步:要成为一个投资者,你要下定决心。要承诺将一个具体比例的收入储蓄起来。
第 2 步:要成为投资内行,必须先了解投资游戏规则。
第 3 步:你需要搞清楚要实现你的财务梦想,实际需要的财富数字究竟是多少,你真正需要积累多少财富才能获得财务安全、财务活力、财务自由。
第 4 步:要做出你一生最重要的投资决策!首先,要做好资产配置,其次,你需要列出一个短期目标和长期目标清单。最后,你需要时刻考虑投资的再平衡和基金定期定额投资。
第 5 步:要创造一个终身收入计划,才能保证只赚不赔。
第 6 步:像万里挑一的大师那样投资,向那些成绩好、经验多的高手学习最好的成功策略。
第 7 步:要放开手脚,只管去做,尽情享受生活的无尽可能。
重要观点
1. 从核心本质来看,钱就是力量。
2. 把梦想变成现实有很多种方法,钱肯定是其中的一种。
3. 要么你用钱,要么钱用你。你要么是钱的主人,要么,至少从某种程度上说,你就是钱的奴隶!掌控了钱的事,会让你对外充满权力感,向内充满力量感,决策充满确定感。这些美好的掌控感会传递到你生活的其他方面——掌控你的职业,掌控你的健康,掌控你的情绪,掌控你的人际关系。无法掌控自己的钱,对自己的投资理财能力缺乏信心,这会在不知不觉中影响你在其他方面的自信。当可以完全掌控自己的财务状况时,你就会赋予自己力量,激励自己勇于接受其他方面的挑战!
4. 知道不是力量,执行才是力量。
5. 生活就是成长和给予。
作者:雅丹6587
链接:https://www.jianshu.com/p/8f6845c43a61
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
内存不兼容居然会导致不能重装系统
RT:
Windows 日志高级筛选实践
Windows 日志高级筛选实践
yoke88 关注 0人评论 3249人阅读 2018-11-22 11:08:06
背景
经常需要查看日志,不仅是用来排错,有些时候我还需要监控系统来抓取特定日志来帮助减少我的工作负担,以及时监控到异常出现,并作出通知及响应,那么从大量日志中快速并精确筛选出想要的日志,并且精确提取信息,是一个必备的技能。我曾经用内置的事件查看器的筛选器进行事件筛选,然后保存视图,或者使用powershell get-winevent 进行筛选,也使用logparser, 或者第三方的日志查看工具比如eventexplorer 进行日志筛选。但是总是遇到几个主要的问题:
-
从大量日志中过滤出极个别日志,每次执行的事件总是太长。
-
不能灵活的或者更精确的进行筛选。一般只能大概的匹配,然后再做一步处理。通常又遇到1的问题。
尝试和比较
经过一些尝试和使用,个人觉得powershell 的get-winevent 最方便,因为毕竟是一个脚本语言,可以进一步进行处理,而且可以很灵活的处理。logparser 很快,但是如果精确提取某些日志的字段,就没有那么容易了,windows 日志的EventData中的数据复杂多样,靠几个常规字段是没有办法灵活进行处理的。
论速度的话,除了logparser,使用xml 筛选是最快速的。但是xml 筛选需要使用复杂的、受限的xpath 1.0 (被微软实现后,有更多限制),虽然有点蹩脚又难懂,但是和时间节省算起,还是划的来的,特别是重复任务。
一个比较好的开始是从下面链接开始。
正式实践
一个比较常用场景是,我经常需要精确过滤到哪个账号最近锁定了,哪台计算机锁定的,什么时候。我需要很快速的能查询到锁定日志。过去虽然我用get-winevent –filterhashtable 可以做到这些,但是速度实在太慢了,虽然我的域控只有4台。我经常和用户说,如果你想知道你在哪台计算机上锁定了,请等待一段时间,我会把查询结果用邮件发给你。不过现在使用xpath 过滤时,我基本上可以在用户打电话过来时,告诉他这些信息。
下面XML 过滤AD安全日志中的最近一天的某个用户名的锁定日志
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[EventID=4740 and TimeCreated[timediff(@SystemTime) <= 86400000] and Provider[@Name='Microsoft-Windows-Security-Auditing']]]
and
*[EventData[Data[@Name='TargetUserName']='somebody']]
</Select>
</Query>
</QueryList>
如果你只想过滤最近一天所有用户的锁定日志,那么这样写
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[EventID=4740 and TimeCreated[timediff(@SystemTime) <= 86400000] and Provider[@Name='Microsoft-Windows-Security-Auditing']]]
</Select>
</Query>
</QueryList>
上面过滤XML可以在 事件查看器的 筛选当前日志–》XML—》手动编辑查询中进行测验。
OK ,为了方便使用,我们做成一个powershell function ,方便日常使用,直接上例子。
function get-lockedEvent{ <# .SYNOPSIS Function to filter user locked event which id=4740 .DESCRIPTION This function search user locked events in DC security logs, this function need the domain admin priv. .EXAMPLE get-lockedEvent -loginname oaoperator -show .EXAMPLE PS C:\> get-lockedEvent -loginname oaoperator -summary Count Name ----- ---- 457 Oaoperator, OA .EXAMPLE PS C:\> get-lockedEvent -loginname oaoperator Username LockedPC Datetime EventLocation -------- -------- -------- ------------- Oaoperator OA 2018/9/27 10:27:40 dc02 Oaoperator OA 2018/9/27 10:32:40 dc02 #> [cmdletbinding()] param( [parameter(Mandatory=$false)] [string] $loginname, [Parameter(Mandatory=$false)] [switch] $summary, [Parameter(Mandatory=$false)] [switch] $show )
# filter Locked Events generated in 1 day and username eq loginname $f2=@' <QueryList> <Query Id="0" Path="Security"> <Select Path="Security"> *[System[EventID=4740 and TimeCreated[timediff(@SystemTime) <= 86400000] and Provider[@Name='Microsoft-Windows-Security-Auditing']]] and *[EventData[Data[@Name='TargetUserName']='{0}']] </Select> </Query> </QueryList>
'@
# filter Locked Events generated in 1 day $f1=@' <QueryList> <Query Id="0" Path="Security"> <Select Path="Security"> *[System[EventID=4740 and TimeCreated[timediff(@SystemTime) <= 86400000] and Provider[@Name='Microsoft-Windows-Security-Auditing']]] </Select> </Query> </QueryList>
'@ if($loginname){ $f=$f2 -f $loginname }else{ $f=$f1 } $DCs=Get-ADDomainController -Filter *|%{$_.hostname} $r=Invoke-Command -ComputerName $DCs -ArgumentList @($f) -Command{ param( $filter ) $events=Get-WinEvent -FilterXml $filter $events|%{ $e=[xml]$_.toxml() [PSCustomObject]@{ 'Username'=$e.Event.EventData.Data.where({$_.Name -eq 'TargetUserName'})."#text" 'LockedPC'=$e.Event.EventData.Data.where({$_.Name -eq 'TargetDomainName'})."#text" 'Datetime'=[datetime]$e.Event.System.TimeCreated.SystemTime 'EventLocation'=$e.Event.System.Computer } } }|Sort-Object -Property Datetime |select -Property 'UserName','LockedPC','Datetime','EventLocation' if($summary){ $r=$r|Group-Object -Property Username,LockedPC -NoElement } if($show){ $r|Out-GridView }else{ $r }
}
另外一个实践
由于最近有一些计划任务的状态需要监控,而且考虑到这应该是一个非常通用的需求,所以我想过滤计划任务名称匹配\qq_ent 开头的,然后任务执行结果不为0的日志,尽管我参考着下面的一些blog 链接,也让我尝试了好一会,我想应该记录下这些过程。
我们先来看看计划任务日志的xml 内容:
<Event xmlns="https://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-TaskScheduler" Guid="{DE7B24EA-73C8-4A09-985D-5BDADCFA9017}" />
<EventID>201</EventID>
<Version>2</Version>
<Level>4</Level>
<Task>201</Task>
<Opcode>2</Opcode>
<Keywords>0x8000000000000000</Keywords>
<TimeCreated SystemTime="2018-11-18T05:00:02.058811400Z" />
<EventRecordID>144817</EventRecordID>
<Correlation ActivityID="{110529FD-DBFD-4E59-B207-83DF8CC779B8}" />
<Execution ProcessID="1508" ThreadID="24392" />
<Channel>Microsoft-Windows-TaskScheduler/Operational</Channel>
<Computer>ComputerName.xxx.com</Computer>
<Security UserID="S-1-5-18" />
</System>
<EventData Name="ActionSuccess">
<Data Name="TaskName">\qq_ent\store_to_db</Data>
<Data Name="TaskInstanceId">{110529FD-DBFD-4E59-B207-83DF8CC779B8}</Data>
<Data Name="ActionName">C:\Users\UserName\AppData\Local\Programs\Python\Python37\python3.exe</Data>
<Data Name="ResultCode">2147942401</Data>
<Data Name="EnginePID">22172</Data>
</EventData>
</Event>
说下我们的任务:
-
匹配 EventData 中Data 名称为TaskName的,它的值应该是\qq_ent\xxxx
-
匹配 EventData中 Data 名称为ResultCode的,它的值应该是>0 或者不等于0的
-
EventID=201
-
Provider Name=Microsoft-Windows-TaskScheduler
最后成型的过滤,和微软的之前的例子不一样。
<QueryList>
<Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
<Select Path="Microsoft-Windows-TaskScheduler/Operational">
*[System/EventID=201]
and
*[EventData[
(
Data[@Name='TaskName']='\qq_ent\download_images'
or
Data[@Name='TaskName']='\qq_ent\store_to_db_offline'
or
Data[@Name='TaskName']=='\qq_ent\gatherQQmsg'
or
Data[@Name='TaskName']=='\qq_ent\store_to_db'
)
and
Data[@Name='ResultCode'] !=0
]]
</Select>
</Query>
</QueryList>
我之前按照微软的例子是这样写的,结果不对的。
<QueryList>
<Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
<Select Path="Microsoft-Windows-TaskScheduler/Operational">
*[System/EventID=201]
and
*[
EventData[
(
Data[@Name='TaskName']
and
(
Data='\qq_ent\download_images'
or
Data='\qq_ent\store_to_db_offline'
or
Data='\qq_ent\gatherQQmsg'
or
Data='\qq_ent\store_to_db'
)
)
and
(
Data[@Name='ResultCode'] and Data !='0'
)
]
]
</Select>
</Query>
</QueryList>
注意事项
-
event log 中的Xpath 受限,能使用的函数有限,因此如果你想筛选字符串,你会发现starts-with contains 这些xpath 函数都不支持。尽量使用其他条件筛选,然后再使用powershell内置过滤功能进行过滤,当然这要牺牲一些处理时间。
-
Xpath中的一些字符串要进行转义,比如你想比较一个数字,可能写Data>0,那么> 要转义成>
参考资料
©著作权归作者所有:来自51CTO博客作者yoke88的原创作品,如需转载,请注明出处,否则将追究法律责任
1
分享
收藏
上一篇:网络命令初步排错 下一篇:使用 Advanced Inst…
54篇文章,31W+人气,17粉丝
Ctrl+Enter 发布
发布
取消
推荐专栏更多
掌握VMware超融合技术
共41章 | 王春海
¥51.00 436人订阅
前百度高级工程师的架构高可用实战
共15章 | 曹林华
¥51.00 508人订阅
高并发架构之路
共15章 | sery
¥51.00 577人订阅
86岁国宝级中医两次患癌,两次抗癌成功,一直在用此法

齐鲁壹点
发布时间:04-0811:41齐鲁晚报齐鲁壹点官方帐号
他是一代医宗,从医60余年,把中医领进太空:研制防治太空病中药“太空养心丸”,早在神五发射时,就采用中医方法为杨利伟调养身体。他义捐九世祖传秘方制成王氏保赤丸,造福了千家万户(以上内容据《中国中医药报》2009年6月22日第三版及《南通网》报道)……他是名扬天下的国医大师、王氏中医世家第19代传人王绵之。

王绵之教授
但大多数人都不知道,王老自己曾患过结肠癌、肺癌,但都被一一化解,康复得很好(据《老同志之友》2012年16期)。可能您会好奇,觉得王老一定有什么抗癌秘方吧?要说秘方,那还真有,而且非常简单!
盘腿一坐,养心抗癌
常年的养生实践和两次抗癌经历中,王老最喜欢一件事:打坐。他认为,打坐可以让人心无杂念,让大脑得以充分休息,是极好的养心方法;养好了心,在面对疾病甚至癌症时,就能心态平和地战胜疾病,“快乐是最好的抗癌药”。
王氏打坐法具体方法
1、坐姿不强求。坐于高椅、板凳自便,双腿交叉。最好于毯状物上盘腿而坐,五指张开,放于膝或大腿上。
2、全身处于微微绷紧中的放松状态,挺胸、展肩、收腰、收颌,头顶像放了一碗水或一本书的感觉。
3、双眼睁开,看所有的一切都逐渐进入广阔状态,刚开始不习惯,可先闭一会儿眼睛,再看自己的鼻尖,慢慢凝神后再抬眼。
4、深呼吸,即腹式呼吸,这是王老的养生窍门。此法简单易行:向外呼气时瘪肚子,向内吸气时鼓肚子,按照正常的呼吸频率即可。一边呼吸,一边进入大脑空白的状态,可以想象大海、森林等清新宜人的画面,帮助放松身心。他说这样可以将身体里的废气呼出去,然后再将新鲜的空气吸入体内,起到吐故纳新的作用。
5、刚开始打坐10-20分钟即可,当双腿和脚掌麻胀感增强,可将双腿收起后交叉,双手相交,抱膝而坐,深呼吸至双腿麻胀感消失后再起立。
6、如果盘腿的时候,发现自己根本静不下心来,而且腿也疼。那么,此时,您就可以定下心来,先找到腿疼的地方,如果是胆经,可以先顺着胆经揉一揉,等它不怎么疼了再盘。

没打坐的时候,可能不知道自己哪里不舒服,但是一打坐,就知道了自己哪里酸、哪里痛,应该从哪里开始疏通。揉着揉着,就会感觉到由痛变酸,由酸转正常的滋味了。您只要每天这样修复一点点,您的身体就会越来越强壮。
7、一定要每天坚持,打坐时觉得疼就干脆放弃了,或者今天练一下,明天就不练了,打坐也就失去了它的灵性。
抗癌国医的抗癌菜
除了打坐,王老还推荐了两种食物:打霜的茄子和苦瓜,夏天吃正好。

1
霜打茄子常入药
中药许多方剂中,就经常使用“霜打茄子”作为一味药。
茄子的全身:茄花、茄根、茄汁都是良药,古代就有秋茄根治疗肿瘤的记载。
现代医学也证明,茄子中所含有龙葵碱、葫芦素是具有抗癌能力的。茄子可以放心吃,抗癌,延寿。
提醒
在茄子的所有吃法中,拌茄泥是最健康的。
首先,拌茄泥加热时间最短,只需大火蒸熟即可,因此营养损失最少。其次,拌茄泥用油最少,蒸好茄子捣成泥后,只需稍微淋一些调味汁即可。最后,拌茄泥的吃法营养吸收最完全,因为它不用削去茄子皮,而茄子皮中含有大量的生物活性物质。

2
苦瓜:李时珍口中的“一等瓜”
由于味道苦涩,很多人不喜欢吃苦瓜,这是错误的!明代神医李时珍将它成为“一等瓜”。
西医证明:苦瓜中含有一种类奎宁蛋白的东西,能将癌细胞或其他不正常的细胞杀掉。
此外,苦瓜的种子中含有一种蛋白酶抑制剂,是可以抑制肿瘤细胞分泌蛋白酶,从而遏制癌细胞的扩散。
H3C S5720交换机系统文件丢失一直重启的解决办法
转载 weixin_33814685 最后发布于2017-08-23 14:09:55 阅读数 715 收藏
一、故障描述:
公司买了两台交换机H3C S5120,由于小兄弟没经验,把flash:给格式化了,交换机不停的在重启,无法进入系统。
二、解决思路:
1.下载tftp软件。
2.从另外一台交换机的flash中下载一份系统文件。
3.装系统文件上传致故障交换机的flash中,重启交换机,故障解决。
三.详细配置过程如下:
1.下载tftp软件。
链接:https://pan.baidu.com/s/1qYqfsle 密码:751q
(1)把电脑本地网卡配置:
IP地址:10.10.10.2
子网掩码: 255.255.255.0
(2)打开tftp软件:
下载的软件目录data中已存有交换机的系统文件(s5720li-v200r010c00spc600.c)
如果在遇到相同型号的设备,可省略第2步。直接上传到故障交换机即可。
2.从另外一台交换机的flash中下载一份系统文件(s5720li-v200r010c00spc600.cc)。
(1)查看另一台交换机flash:
<HUAWEI>dir
Directory of flash:/
Idx Attr Size(Byte) Date Time FileName
0 drw- – Aug 23 2016 03:00:52 dhcp
1 drw- – Aug 23 2016 03:00:24 user
2 drw- – Aug 23 2016 03:01:03 logfile
3 drw- – Aug 23 2016 03:00:12 $_install_mod
4 -rw- 836 Aug 23 2016 03:04:07 rr.bak
5 -rw- 836 Aug 23 2016 03:04:07 rr.dat
6 -rw- 28 Aug 23 2016 03:03:55 private-data.txt
7 drw- – Aug 23 2016 03:00:52 localuser
8 -rw- 64,011,164 Dec 15 2016 17:51:28 s5720li-v200r010c00spc600.cc
(2)配置交换机VLAN1 IP为10.10.10.1:
#interface Vlanif1
#ip address 10.10.10.1 255.255.255.0
(3)从交换机下载系统文件:
<HUAWEI>tftp 10.10.10.2 put s5720li-v200r010c00spc600.cc
Info: Transfer file in binary mode.
Uploading the file to the remote TFTP server. Please wait…
100%
TFTP: Uploading the file successfully.
64011164 byte(s) sent in 1435 second(s).
<HUAWEI>
3.将系统文件上传致故障交换机的flash中,重启交换机,故障解决。
(1)机器重启生出现下面界面按Ctrl + B
INIT: version 2.88 booting
Starting udev
Starting Bootlog daemon: bootlogd.
Populating dev cache
INIT: Entering runlevel: 3ge = 5
Stopping Bootlog daemon: bootlogd.
Wind River Linux 6.0.0.30 localhost console
localhost login: root (automatic login)
login[1922]: root login on ‘console’
Jan 23 2017, 19:21:20
mknod: /dev/mvPP: File exists
BootLoad version : 020a.0001
Backup U-Boot ……………………………………………………. done
Press Ctrl+B or Ctrl+E to enter BootLoad menu: 2
(2)进入下面启动菜单:
1)选择4
Enter your choice(1-8):
BootLoad Menu
1. Boot with default mode
2. Enter serial submenu
3. Enter startup submenu
4. Enter ethernet submenu
5. Enter filesystem submenu
6. Enter password submenu
7. Clear password for console user
8. Reboot
(Press Ctrl+E to enter diag menu)
Enter your choice(1-8): 4
2)选择4
ETHERNET SUBMENU
1. Update BootROM system
2. Download file to Flash through ethernet interface
3. Upload Configuration file to Ftp through ethernet interface
4. Modify ethernet interface boot parameter
5. Return to main menu
Enter your choice(1-5): 4
3)选择1,配置下载文件,指定交换机的IP,及tftp服务器也就是电脑的IP
BOOTLINE SUBMENU
1. Set TFTP protocol parameters
2. Set FTP protocol parameters
3. Return to ethernet menu
Enter your choice(1-3): 1
‘.’ = clear field; ‘-‘ = go to previous field; ‘Ctrl+D’ = quit
Load File name : s5720li-v200r010c00spc600.cc
Switch IP address : 10.10.10.1
Server IP address : 10.10.10.2
Starting to write BOOTLINE into flash … done
4)选择3 返回
BOOTLINE SUBMENU
1. Set TFTP protocol parameters
2. Set FTP protocol parameters
3. Return to ethernet menu
Enter your choice(1-3): 3
5)选择2 下载文件到flash中
ETHERNET SUBMENU
1. Update BootROM system
2. Download file to Flash through ethernet interface
3. Upload Configuration file to Ftp through ethernet interface
4. Modify ethernet interface boot parameter
5. Return to main menu
Enter your choice(1-5): 2
Use tftp to download file : s5720li-v200r010c00spc600.cc , please wait for a moment.
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….
Download file successfully.
6)选择5 返回
ETHERNET SUBMENU
1. Update BootROM system
2. Download file to Flash through ethernet interface
3. Upload Configuration file to Ftp through ethernet interface
4. Modify ethernet interface boot parameter
5. Return to main menu
Enter your choice(1-5): 5
6)选择1 设置默认启动模式
BootLoad Menu
1. Boot with default mode
2. Enter serial submenu
3. Enter startup submenu
4. Enter ethernet submenu
5. Enter filesystem submenu
6. Enter password submenu
7. Clear password for console user
8. Reboot
(Press Ctrl+E to enter diag menu)
Enter your choice(1-8): 1
Now, the current startup file is flash:/s5720li-v200r010c00spc600.cc
Info: Check signature, please wait…………
System total memory is 0x15200000
Start to initialize the LSW …
Initializing the LSW ……………………………………………… done
Initializing netlink ……………………………………………… done
Initializing fast netlink …………………………………………. done
Backup BootLoad ………………………………………………….. done
Backup Kernel ……………………………………………………. done
Backup RamDisk …………………………………………………… done
Stack status : enable
ECM Stack status : run
Initializing FSP task begin …
Initializing DEV module …………………………………………… done
Initializing hardware system ………………………………………. done
Begin to start the system …
Registering IPC and VP callback to platform …………………………. done
Initializing VFS ………………………………. Done
Checking startup system-software …………………………………… done
Reading PAF file …………………………………………………. done
Initializing VOS monitor ……………………….. Done
CFM initialization advance ……………………… done
Initializing PAT ………………………………. Done
Initializing HA ……………………………….. done
VFS registering to HA ………………………….. Done
VRP root begin …
VRP root end
CFG initialization begin ……………………….. done
CFM initialization begin ……………………….. done
CLI initialization begin ……………………….. done
Registering VRP all link command begin …………… Done
Creating task begin …
Creating task end
Task initialization begin …
Task initialization end
ECMM status : run
Cmd registering begin …
Cmd registering end
Task awake begin …
Task awake end
Recover configuration begin …
Recover configuration end
Press ENTER to get started.
Login authentication
Username:admin
Password:
7)启动到输入用户名和密码的界面,证明交换机系统恢复完成。输入默认用户名和密码登录交换机:
用户名:admin
转载于:https://blog.51cto.com/fengyunshan911/1958631
让你的 Firefox 飞起来(Firefox超速绝密方法)
让你的 Firefox 飞起来(Firefox超速绝密方法)
分类: 系统运维
2010-04-23 12:03:29
首先,在URL栏输入“about:config”, 将打开一个参数的命令行清单,这就是我们以下进行编辑的第一步。
Firefox 加速技巧:修改参数- -让灵动的Firefox跑得更快 1.network.http.pipelining
在 Filter 中输入 network.http.pipelining,双击赋值为 true,默认为 false。如果没有找到这个键值,可以右键新建一个 Boolean,把她赋值为 true 就 OK 了。
还是像我在从前解释过的那样,激活这个键值之后,Pipelining同时发出成倍数的连接请求,从而达到提升连接速度的效果。网络上的大多数网站都是基于 HTTP 协议,而 HTTP1.1可以支持多线程的连接请求,通过这个操作可以减少Firefox载入网页的时间。不过并不是所有网页所在的服务器都支持这种操作,所以当你修改键值之后却看不到一点实际效果的时候,请不要对我破口大骂。
2.network.http.pipelining.maxrequests
在 Filter 中输入 network.http.pipelining.maxrequests,双击并赋值为 8,默认键值为 4。
3.network.http.proxy.pipelining
在 Filter 中输入 network.http.proxy.pipelining,双击并赋值为 true。
这两条优化的道理同上,这里就不再多解释了。
4.network.dns.disableIPv6
在 Filter 中输入 network.dns.disableIPv6,双击并赋值为 true。
IPv6 把 IP 地址由 32 位增加到 128 位,从而能够支持更大的地址空间,当用户在终端向一个IPv6-capableDNS服务器发送连接请求时,也许服务器端会错误的返回给用户一个 IPv4 地址。而 Firefox可以对这一切明察秋毫,不过在Firefox纠错的同时也必然会导致信号的延迟,所以这里我们把她赋值为 true,禁用掉她。
5.content.interrupt.parsing
右键新建 Boolean 值,键名为 content.interrupt.parsing,赋值 true。
默认这个键值并不存在。我们激活这个键值之后,当目标网页载入时,Firefox会根据一定频率打断解析的过程,不断的向用户反馈她所收集到的网页信息,有点像流媒体的意思。这时的 Firefox很聪明,不会一根筋的一直钻牛角。在下面的内容中我还会具体讲一下这个键值的魅力所在。
6.content.max.tokenizing.time
右键新建 Integer 值,键名为 content.max.tokenizing.time,赋值 2250000。
这个键值的作用其实就是指定一个循环事件的处理周期,这里的单位是微秒,要是我没有算错的话。理论上当我们将这个值取的越小,网页就会从视觉上载入的越流畅,因为Firefox会在很短的单位时间里反馈回解析到的网页信息。可是这样无疑延迟了网页整体载入的时间,所以在这里我们不妨将这个周期取的大一些,理论上可以加速网页的载入。
7.content.notify.interval
右键新建 Integer 值,键名为 content.notify.interval,赋值 750000。
载入一个网页其实也是一门很大的学问。让我们来放一个慢动作,我们姑且先把在终端第一次收到的网页信息很不专业的叫做预载入页面吧,这个页面有可能是不完整的图片或者文字,或者别的媒体文件。从我们第一次向远端主机发出连接请求到我们在终端收到这个预载入页面花费的时间,就是这里我们要定义的键值。理论上当我们将这个时间设置的很低时,肯定会更快的拿到所谓的预载入页面,可这是一种杀鸡取卵的做法,这样无形中反而增加了我们整体页面的载入时间。按照官方的说法,低于 100,000 将会降低 Firefox 的性能,那好吧,那我们把她彪到 750000 吧。
8.content.notify.ontimer
右键新建 Boolean 值,键名为 content.notify.ontimer,赋值 true。
为了使我们上面设置的 750000 微秒生效,还需要把这个键值激活。只有这两个键值配合,才会起作用。
9.content.notify.backoffcount
右键新建 Integer 值,键名为 content.notify.backoffcount,赋值 5。
这个键值控制Firefox的内置计数器在归零之前载入页面返回的次数。我们将目标网页分成好多个部分进行下载,每下载完一个部分,计数器归零一次。-1就是没有限制,值为0时这项功能被禁用。这里我们将她设置成5,当返回的次数达到五次而这部分网页还没有完全下载完时,那么剩下的没有下载完的网页内容将不会再按照我们预告设置的周期,像之前的五次那样一点一点的搬运回来,而是会一次性的下载完。也就是说在这个部分的网页下载过程中,Firefox 一共向我们反馈了 6次信息,前5次的时间间隔是我们在上面的键值中设置的周期 2250000微秒,而第6次也就是最后一次则没有时间限制,什么时候把剩下的下完了,什么时候反馈回来。
只有当我们在上面提到的 content.notify.ontimer 键值为 true 的时候,这里的设置才会生效。
10.content.switch.threshold
右键新建 Integer 值,键名为 content.switch.threshold ,赋值 750000,也就是四分之三秒。
在前面我们提到了一个键值content.interrupt.parsing,通过激活她实际上我们可以在载入页面的过程中跟Firefox产生互动,毕竟我们每一个人的心里都充满了爱。把 content.interrupt.parsing激活后当页面载入时Firefox会有两种操作模式:高频和低频中断模式。使用高频模式时,网页回馈的频率也很高,我们坐在显示器前看到的网页载入过程也会更加的平滑。低频时网页回馈的频率相对比较低,可是这时反而加快了网页载入的时间。当我们移动鼠标或者触击键盘时,高频模式被激活。在经过某一段时间我们没有碰鼠标和键盘,程序没有接到鼠标和键盘发出的任何指令时,Firefox就会自动进入低频模式工作,而这所谓的某一段时间,就是我们这里要指定的值。
11.nglayout.initialpaint.delay
右键新建 Integer 值,键名为 nglayout.initialpaint.delay,赋值 0。
这里实际上延迟了整个网页的显示速度,但是因为用户更喜欢在整个网页完全截入之前就开始阅读网页 (就像流媒体那样),所以在这里可以把值调为零,加速用户阅读网页的速度,有时候阅读速度和载入速度并不是成正比的。
在网络状况稳定的情况下这些优化的确是会起到一些效果的,并不光是心理作用,大家在为自己的浏览器提速时,也可以稍微参考一下。
备注:如果不是原版只需要修改前四项即可。
CentOS7.1 VNC Server服务配置
CentOS7.1 VNC Server服务配置
原创 jim_hwg 最后发布于2016-03-08 16:23:48 阅读数 28191 收藏
展开
一、安装VNC相关包
yum -y install tigervnc tigervnc-server tigervnc-server-module
二、复制配置模板文件为vncserver@:1.service
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
三、修改/lib/systemd/system/vncserver@:1.service配置文件
[root@kvm01 ~]# cat /lib/systemd/system/vncserver\@\:1.service | grep -v ^# | grep -v ^$
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
ExecStart=/usr/sbin/runuser -l root -c “/usr/bin/vncserver %i”
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
[Install]
WantedBy=multi-user.target
四、设置VNC用户密码
vncpasswd
输入两次密码,完成密码设置
五、重新载入system配置
systemctl daemon-reload
六、启动vncserver@:1.service服务,并设置开机自启
systemctl start vncserver@:1.service && systemctl enable vncserver@:1.service
注:若系统无法正常关机,则再次启动,此服务无法启动,解决办法参照步骤七
七、问题解决
1.报错:Job for vncserver@:1.service failed because the control process exited with error code. See “systemctl status vncserver@:1.service” and “journalctl -xe” for details.
处理方法:
rm -rf /tmp/.X11-unix/*
————————————————
版权声明:本文为CSDN博主「jim_hwg」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hnhuangyiyang/java/article/details/50827670
Centos7配置Apache实现HTTPS
Centos7配置Apache实现HTTPS
王非雨关注0人评论11510人阅读2018-10-15 16:35:54
HTTP简介
Web服务器在默认情况下使用HTTP,这是一个纯文本的协议。正如其名称所暗示的,纯文本协议不会对传输中的数据进行任何形式的加密。而基于HTTP的Web服务器是非常容易配置,它在安全方面有重大缺陷。任何”中间人”,通过精心防止的数据包嗅探器,是能够看到任何经过的数据包内容。更进一步,恶意用户甚至可以在传输路径设置一个假冒的WEB服务器冒名顶替实际的目标Web服务器。在这种情况下,最终用户可能实际上与假冒者服务器,而不是真正的目的服务器进行通信。这样,恶意用户可以通过精心设计的表单欺骗终端用户获取到敏感信息,如用户名密码。
为了处理这些类型的漏洞,大多数供应商往往在他们的web服务器应用HTTPS协议。对于只读类型的网站,用户只能读取内容,并没有实际提交任何信息,HTTP仍然是一个可行的选择。但是,对于保存敏感信息的网站,比如:用户需要登录来获得网站的服务,那么HTTPS是必须的。
HTTPS能够为一个网站提供以下能力。
1、确保所有经过服务器传输的数据包都是经过加密的。
2、建立了一个官方数字证书证书,使得假冒服务器无法冒充真正的服务器。
HTTPS证书获取途径
1、自签名证书被推荐用于测试目的和个人项目。自签名证书,也可以用于服务提供商,不过一般适用于用户互相信任的情形。另外,自签名证书不用花钱购买。
2、证书可以由社区为基础的认证供应商如StartSSL和CACERT办法。这些证书也不需要花钱,但建议为个人项目。
3、对于全球性商业网站,建议从值得信赖的知名证书颁发机构购买证书。这些证书需要花钱,但他们增加了网络服务提供商的信誉。
实验环境:
系统版本:centos7x3.10.0-514.el7.x86_64
Apache版本:Apache/2.4.6
关闭防火墙并禁止开机自启
systemctl stop firewalld.service
systemctl disable firewalld
关闭selinux
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/sysconfig/selinux
修改主机名
vi /etc/hostname
apache.xyc.com
域名绑定IP
vi /etc/hosts
192.168.152.170 apache.xyc.com
重启 reboot
安装apache服务
1、安装apache环境依赖
yum -y install mod_ssl openssl httpd
2、创建CA证书存放目录
mkdir /etc/httpd/ca
3、修改配置文件
创建Apache的CA证书
1、进入存放证书的目录
cd /etc/httpd/ca/
2、创建自己的CA证书
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 1000 -out ca.crt![]()
注:可以看到截图我写的是1000天,也就是大概三年的时间,自己可以随意设置!
3、生成CA证书签名请求
openssl req -newkey rsa:4096 -nodes -sha256 -keyout apache.xyc.com.key -out apache.xyc.com.csr![]()
4、生成注册主机的证书
openssl x509 -req -days 365 -in apache.xyc.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out apache.xyc.com.crt![]()
注:可以看到以上截图写的是365天,有的童鞋可能不太理解,简单说一下,现在代表的意思是证书三年有效期,而客户端使用认证期限是一年,当然了写1000天就和证书一样三年后失效。
5、将证书拷贝到配置文件中路径相对应的目录
//进入证书目录
cd /etc/httpd/ca/
//拷贝证书到默认指定目录
cp apache.xyc.com.crt /etc/pki/tls/certs/
cp apache.xyc.com.key /etc/pki/tls/private/
6、重启Apache服务
systemctl restart httpd
访问测试(最好使用Firefox浏览器)
1、访问网页地址https://apache.xyc.com/
![]()
注:因为本地电脑无法识别自己写的域名,所以需要添加网站主机IP和域名绑定,实现方式如下:
//打开本地C盘,搜索路径C:\Windows\System32\drivers\etc![]()
//用文本格式编辑第二行的hosts文件,添加一行web的IP和域名即可![]()
2、再次访问网页地址https://apache.xyc.com/
//点击确认安全列外![]()
注:如上截图,说明apache的https搭建完成了!
©著作权归作者所有:来自51CTO博客作者王非雨的原创作品,如需转载,请注明出处,否则将追究法律责任
如果文章对你有帮助,请赞赏!


