星期二, 2月 22, 2011

出現 Generic host process for win32 services發生問題

當XP出現  Generic host process for win32 services發生問題   通常會併發網路連線問題


1.如果是中毒攻擊者在用戶註冊表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Run 下
建立一個叫「msupdate」(估計有變化)的鍵,鍵值一般為msblast.exeC:\windows\system32目錄下會放置一個 msblast.exe的木馬程式
另外受攻擊者會出現「Generic Host Process for Win32 Services 遇到問題需要關閉」
「Remote Rrocedure Call (RPC)服務意外終止,Windows必須立即重新啟動」等錯誤訊息而重啟。
建議到microsoft下載相應更新。
如果已受攻擊,建議先拔掉網路線,在任務管理器中結束msblast.exe進程,清除註冊表中的相應條目,刪除 system32下的木馬程式,最後更新。




2.排除中毒問題後,更新windows patch 
更新 KB958644 及 KB956803 這兩個更新


3.若是排除病毒及更新後,還出現這樣的問題,一般都是IE組件在註冊表中註冊訊息被破壞,
可以按下面的方法去解決該問題:
 在"開始"選單中打開"執行"視窗,在其中輸入"regsvr32 actxprxy.dll",然後"確定",
接著會出現一個訊息對話框"DllRegisterServer in actxprxy.dll succeeded",再次點擊"確定"。
再次打開"執行"視窗,輸入"regsvr32 shdocvw.dll
再次打開"執行"視窗,輸入"regsvr32 oleaut32.dll
再次打開"執行"視窗,輸入"regsvr32 actxprxy.dll
再次打開"執行"視窗,輸入"regsvr32 mshtml.dll
再次打開"執行"視窗,輸入"regsvr32 msjava.dll
再次打開"執行"視窗,輸入"regsvr32 browseui.dll
再次打開"執行"視窗,輸入"regsvr32 urlmon.dll
如果排除病毒問題後,做完上面的幾個IE組件註冊一般問題即可得到解決




星期三, 2月 09, 2011

NBU磁帶機狀況檢查及手動備份Catalog

檢查磁帶機狀況

手動備份catalog

畫面左邊 Netbackup Management-->Catalog 
按右鍵選手動備份


星期三, 1月 26, 2011

Outlook server及個人端的行事曆移動

Outlook  server 端的行事歷無法被刪除或取代
如果想要把個人資料夾的行事歷全部放到server 上
或將server上的移到個人行事曆
可使用 檢視-->排列-->目前檢視-->依類別
然後再將要移動的資料選起來移動即可.

星期二, 1月 11, 2011

NBU-- the backup failed to back up the requested files(6) 錯誤碼

錯誤碼內容


the backup failed to back up the requested files(6)
2011/1/11 上午 10:36:12 - Error bpsched(pid=1180) suspending further backup attempts for client qwfnhora01, policy oracle_membr_log, schedule Auto because it has exceeded the configured number of tries
2011/1/11 上午 10:36:12 - Error bpsched(pid=1180) backup of client qwfnhora01 exited with status 6 (the backup failed to back up the requested files)


上面的訊息為備份的script 錯誤有關


到client 檢查netbackup log 在/usr/openv/netbackup/logs 看裡面的內容

 Processing /usr/openv/script/membr1/backuptapelog.sh
10:52:12.843 [1056850] <4> bphdb: INF - Child executing /usr/openv/script/membr1/backuptapelog.sh
10:52:12.883 [2420932] <4> bphdb: INF - bphdb still working.
10:52:12.883 [2420932] <4> bphdb: INF - Keepalives will be sent every 1800 seconds.
10:52:12.883 [2420932] <4> bphdb: INF - Waiting for the child status.
10:52:56.360 [2420932] <16> bphdb: ERR - Script exited with status = 1 <the requested operation was partially successful>
10:52:56.367 [2420932] <4> bphdb: file /tmp/obackup_class deleted.
10:52:56.368 [2420932] <16> bphdb: ERR - bphdb exit status = 6: the backup failed to back up the requested files

紅色內容為script 問題

檢查 /usr/openv/script/裡的script 看問題在哪裡

星期一, 1月 10, 2011

AIX Memory 效能設定

1 、 VMM 的管理簡介


首先,還是簡單講解一下記憶體以及 VMM 的一點工作原理。

記憶體和交換空間一般都是用頁面來進行分配和管理的。 在記憶體中存在兩種類型的頁面:計算頁面(一般為可執行文件段中的頁面)和文件頁面(存儲的數據文件的頁面)。 當我們執行程序或者讀入數據的時候,記憶體中的頁面就逐漸被佔用。 當空閒的記憶體只剩 minfree 的時候, vmm 的調頁就被喚醒,通過調頁算法,將內存中的頁面轉移到交換空間中。 一直到空閒內存達到 maxfree,才停止調頁。

在這裡,我們涉及到兩個參數:

1) Minfree :最小空閒頁鍊錶尺寸。 一旦低於該值,系統偷頁以填充頁鍊錶,保證有足夠的記憶體頁面。 偷頁就是將不常用的頁面替換出去。

2) Maxfree :最大空閒頁鍊錶尺寸。 一旦高於該值,系統停止偷頁。

如果發現空閒列表不足,可以用下面的方法增加 minfree 參數

#vmo -o minfree=1000 -o maxfree=1008
Setting maxfree to 1008
Setting minfree to 1000

#vmo –o minfree=1000 –o maxfree=1008 –P # -P 參數使修改永久生效
一般情況下, minfree 和 maxfree 通過下面的公式得到:
maxfree=minmum(memory/128,128) ,minfree=maxfree-8
注意:在 AIX 5.2 之前的版本請使用 /usr/samples/kernel/vmtune 命令。
#/usr/samples/kernel/vmtune –f 1000 –F 1008

或參考 http://pctartarus.com/bbs/archiver/tid-1939.html


另外,關於內存的使用,我們還有兩個經常碰到的參數需要關注:
Minperm :用戶 I/O 文件訪問的最小緩衝區頁數
Maxperm :用戶 I/O 文件訪問的最大緩衝區頁數
Minperm 和 maxperm 這兩個參數的預設值分別為 20 %和 80 %。 在這裡主要與性能相關的是 maxperm 參數。maxperm參數指定了文件頁面可以佔用記憶體的上限,因為文件頁面不主動釋放,所以很容易造成記憶體的文件頁面過高的佔用,導致其他的應用程式記憶體使用不足。 調整參數值的方法如下:

#vmo -o maxperm%=80 -o minperm%=20
Setting minperm% to 20
Setting maxperm% to 80

在 AIX 5.2 之前的版本請使用 /usr/samples/kernel/vmtune 命令。
#/usr/samples/kernel/vmtune -p 20 – P 80 將 min 和 max 的值分別設置為 20 %和 80 %。

查看當前的參數設置方法如下:
1 ) vmo –a 顯示當前所有的參數設置
在 AIX 5.2 之前的版本請使用 # /usr/samples/kernel/vmtune 顯示當前所有的參數設置

qwfnhora01:/>vmo -a
       cpu_scale_memp = 8
data_stagger_interval = 161
                defps = 1
  force_relalias_lite = 0
            framesets = 2
            htabscale = n/a
    kernel_heap_psize = 4096
 large_page_heap_size = 0
         lgpg_regions = 0
            lgpg_size = 0
      low_ps_handling = 1
      lru_file_repage = 1
    lru_poll_interval = 0
            lrubucket = 131072
           maxclient% = 80
              maxfree = 128
              maxperm = 2520411
             maxperm% = 80
               maxpin = 2621440
              maxpin% = 80
      mbuf_heap_psize = 4096
      memory_affinity = 1
        memory_frames = 3276800
             mempools = 1
              minfree = 120
              minperm = 630102
             minperm% = 20
            nokilluid = 0
              npskill = 16384
              npswarn = 65536
     num_spec_dataseg = 0
            numpsblks = 2097152
         pagecoloring = n/a
      pinnable_frames = 3082426
pta_balance_threshold = n/a
  relalias_percentage = 0
soft_min_lgpgs_vmpool = 0
     spec_dataseg_int = 512
     strict_maxclient = 1
       strict_maxperm = 0
             v_pinshm = 0
      vmm_fork_policy = 0

2vmstat -v

qwfnhora01:/>vmstat -v
              3276800 memory pages
              3150515 lruable pages
               548834 free pages
                    2 memory pools
               194364 pinned pages
                 80.0 maxpin percentage
                 20.0 minperm percentage
                 80.0 maxperm percentage
                 12.9 numperm percentage
               407332 file pages
                  0.0 compressed percentage
                    0 compressed pages
                  0.0 numclient percentage
                 80.0 maxclient percentage
                    0 client pages
                    0 remote pageouts scheduled
                    0 pending disk I/Os blocked with no pbuf
                    0 paging space I/Os blocked with no psbuf
                 8634 filesystem I/Os blocked with no fsbuf
                    0 client filesystem I/Os blocked with no fsbuf
                    0 external pager filesystem I/Os blocked with no fsbuf


顯示 minperm 和 maxperm 和 numperm 的值。numperm 值給出的是記憶體中文件頁數。
系統調頁的規則:
1) 如果 numperm>maxperm ,則只調出文件頁面。
2) 如果 numperm<minperm ,則同時調出文件頁面和計算頁面。
3) 如果 minperm<numperm<maxperm ,則只調出文件頁面,除非新調入的文件頁面大於計算頁面的總和。
如果系統在向調頁空間調出頁面,可能使因為記憶體中的文件頁數低於 maxperm ,從而也調出了部分的計算頁面以達到 maxfree的要求。 在這種情況下,可以考慮把 maxperm 降低到低於 numperm 的某個值,從而阻止計算頁面的調出。 在 5.2 ML4 以後的版本中,為了防止計算頁面被調出,可以採用另外一個方法,就是設置參數 lru_file_repage=0 。 將該參數設為 0 ,則告訴 vmm在進行頁面替換的時候,優先替換文件頁面。
maxclient 通常應該設置為一個小於或者等於 maxperm 的值。
增強 JFS 文件系統為它的緩衝區高速緩存使用客戶機文件,這不受 maxperm 和 minperm 的影響。 為了在限制增強 JFS 文件系統使用高速緩存,可以指定 maxclient 的值,避免在它進行頁面替換的時候,替換其他類型的頁。


2 、使用 vmstat 確定內存的使用情況

主要檢查 vmstat 輸出的 memory 和 pages 列和 faults 列。 詳細的說明見前一節 cpu 評估說明。

3 、 svmon 命令

qwfnhora01:/>svmon -G -i 2 2
               size      inuse       free        pin    virtual
memory      3276800    2720818     555982     194216    2381233
pg space    2097152     289637

               work       pers       clnt      lpage
pin          193983        233          0          0
in use      2289298     431520          0          0
               size      inuse       free        pin    virtual
memory      3276800    2722427     554373     194238    2382831
pg space    2097152     289636

               work       pers       clnt      lpage
pin          194003        233          0          0
in use      2290896     431531          0          0

memory 段

¨ size 物理記憶體總頁數。4KB/ 頁
¨ inuse 物理記憶體中正在使用的記憶體頁面數。 包含活動進程和已經終止的進程的持久文件頁面。
¨ free 空閒列表中的頁面數量
¨ pin 鎖定在記憶體中的頁面數量(鎖定的意思就是不能被替換出去)
¨ virtual

pg space 段

¨ size 調頁空間總大小
¨ inuse 已經分配頁的總數,也就是已經使用的調頁空間頁數

pin 段

¨ work 物理記憶體中的工作頁面數
¨ pers 物理記憶體中的持久頁面數
¨ clnt 物理記憶體中的client頁面數(clinet頁面就是一個遠程文件頁面)

inuse 段

¨ work 物理記憶體中的工作頁面數
¨ pers 物理記憶體中的持久頁面數
¨ clnt 物理記憶體中的client頁面數(client
頁面就是一個遠程文件頁面)

3 、 ps 命令顯示當前運行的進程狀態信息。
運行下列命令,顯示內存佔用前 10 位的進程。

qwfnhora01:/>r
ps gv |sort +6b -nr |head -10
 1511620      - A    27:53 2364 200000 226280    xx 64644 38092  0.0  2.0 ora_mmo
 2343082      - A     3:11    1 22240 60332    xx 64644 38092  2.6  1.0 oraclem
 1958134      - A     1:59    1 18620 56712    xx 64644 38092  5.9  1.0 oraclem
 1728572      - A    41:05  551 20760 54328    xx 64644 38092  0.0  0.0 ora_arc
 2306100      - A    409:24   82 16760 54140    xx 64644 38092  0.5  0.0 oraclem
  946326      - A    193:55    2 15936 54028    xx 64644 38092  3.2  0.0 oraclem
  983108      - A    216:51    1 15928 54020    xx 64644 38092  1.5  0.0 oraclem
  975094      - A    77:42    1 15852 53944    xx 64644 38092  0.6  0.0 oraclem
 1548438      - A    18:24    1 15780 53872    xx 64644 38092  2.2  0.0 oraclem
 1847442      - A    46:45    1 15684 53776    xx 64644 38092  0.3  0.0 oraclem



如果是 oracle 的一些程序佔用了過度的記憶體,我們也可以通過前面類似的程序處理方法來分析。

4 、記憶體的調整

具體調整需要結合系統運行的應用程序對症下藥,如調整 minperm/maxperm 將改變內存與 PAGING SPACE 之間的交換算法,調整 minpgahead/maxpgahead 將改變記憶體塊請求機制,調整 minfree/maxfree 將改變記憶體不足時的記憶體清理刷新機制,等等。如果數據庫使用raw device,並且沒有太多其他的應用,因為raw device不需要文件系統的緩存,所以可以降低 minperm , maxperm ,maxclient 的默認值,降低操作系統對內存的不必要的佔用。
案例:
計費數據庫數據庫響應變慢,內存16G,raw device,卻存在很多的 PI,PO 情況。

在檢查與內存相關的系統參數,發現如下問題:
minperm% = 20 , maxperm% = 80 , maxclient% = 80

說明:以上三個參數為系統預設配置,其表示,使用文件系統時,最多可使用 80% *16G=10.8G,用於緩存所訪問的文件。

結論:由於以上參數採用系預設配置,文件系統緩存最大可以達到10.8G, 在執行大量的文件 cp 操作後,系統的可用記憶體量迅速下降,在其後的計費過程中,由於大量 page in/page out 操作引起系統嚴重性能瓶頸。


優化:
將 maxperm% = 30 , maxclient% = 30

#vmo –o maxperm%=30 –P
#vmo –o maxclient%=30 –P
5.2 以前版本
/usr/samples/kernel/vmtune –p 20 –P 30
/usr/samples/kernel/vmtune –t 30



AIX 的記憶體配置

有關AIX 的記憶體配置一直有個奇怪的問題,就是無論你的記憶體裝了多少,系統配置時都會儘可能的讓作業系統拿來當成檔案系統 JFS/JFS2 操作的 Cache,而且會儘可能的把記憶體都吃光,這使得有些正常的使用者作業要用到記憶體時,系統就要去做記憶體分頁切換,而在 AIX 5.2 ML5 和 AIX 5.3 ML2之前,這個動作並沒有被最佳化過,意思就是平常記憶體可能都會被 File System Cache 佔用,但真正使用者要執行的程式要使用時,實體記憶體己經被佔用光了,所以系統就會大量的使用 VMM 上面定義的磁碟分頁的部份,如此一來,真正的效能就會被磁碟分頁這個動作整個拖住。造成效能非常的差。

在剛剛說的 AIX 5.2 ML5 和 AIX 5.3 ML2 之前,我們使用 VMO 中的 Min Perm 和 Max Perm 來限制 File System Cache ,讓系統可保有最小有 Min Perm 定義的百分比 Size 的 File Cache ,最大又只能使用 Max Perm 定義的 Cache ,這樣的話就能改善上述的一些狀況。

另外在搭配 Oracle 9i /10g 版本時,更可以在系統上去改動 v_pinshm=1 ,然後將 Oracle 的 Lock_SGA 啟動,讓 Oracle 的 SGA 部份啟動後就佔住記憶體,不會再接受系統操作去切換分頁位置,但是 v_pinshm=1 這個設定如果在記憶體較小的設備上(其實己經遇過幾次,說比較小,也不一定,有很大的系統還是當過),經常造成系統當掉,每次原廠工程師把 Report 收回去一看就會說這個要關掉不能開,但 Oracle 明明有文件說這個開了效能才會上來。每次就為了這個參數在吵。

一直到 AIX 5.2 ML5 和 AIX 5.3 ML2 之後,有了一個新的參數叫 LRU_FILE_REPAGE ,系統預設是 1 ,建議是 0 (AIX 6 己經將這個參數拿掉,直接預設就是 0 ) ,這個參數設定為 0 後,系統就會將記憶體優先配置給使用者使用,假設記憶體己經全部被 Filesystem Cache 部份佔掉了,當有使用者要使用時,Filesystem Cache 就會優先被釋放出來供使用者的應用程式使用。

有這個參數以後,在各種應用系統的記憶體問題效能就有比較大幅度的解決,起碼記憶體不會再莫明奇妙的一直被吃光,然後用到磁碟分頁去了,除非,你的記憶體是真的不夠的。但是記住一點,你在各種記憶體監控程序去檢視記憶體時,你仍然會發現記憶體的 Free Space 可能還是 2%~3%或者是更少,除非你的系統開起來都沒有任何運作。

另外 File System Cache 只有在有使用 JFS/JFS2 的狀態下,有執行 OS Level 的 檔案操作時會被使用到,比如說 copy 檔案, tar 檔案等等這些檔案的 I/O 行為,如果是像 Oracle 那種直接由 Block Level 或是說使用 RAW Device 是不會用到 File Cache的。


參考資料