Fortran77計算某段代碼的CPU已耗用時間

      program main      parameter(Iout=12)      real*8 Tim0,CPUTim      open(Iout,file='file.out')      Tim0=CPUTim(0)  !  ini. CPU timeC     part for calc. CPU time here      call PrtTim(Iout,Tim0)      end      Subroutine PrtTim(IOut,RefTim)      I

使用sed和cut將進程的pid過濾出來

維護叢集的都知道,經常要啟動或停止所有節點上的進程,這就要求要先獲得pid,pid可以通過ps的輸出得到,但必須濾掉除pid之外的其他資訊。這可以用sed和cut來聯合完成: sed是支援extended regular expression的,只要在sed命令中用上 -r 這個選項就可以了,比如: ps aux | grep ypbind | sed -r 's/ +/ /g' 這個命令,就可以將ps輸出資訊中所有的空格都裁減成一個空格,然後: ps aux | grep ypbind |

sshd + xinetd 限制IP登入

在RH9中,sshd是不屬於xinetd管轄的一項service,但是,xinetd可以配置一些簡單的ACL,所以,如果我們希望某些IP可以用ssh登入,某些IP不能通過ssh登陸的話,那就可以將sshd配置進入xinetd,這樣,非常方便的就可以實現簡單的存取控制。操作如下: 1、首先,關閉sshd進程-/etc/init.d/sshd stop 2、chkconfig sshd off ,將sshd從啟動中去掉,因為將來隨著xinetd的啟動,sshd就會啟動 3、在/etc/xinetd.

MPI_PACK 和 MPI_UNPACK

前面講過,對於不同資料類型的資料和非連續的資料來說,我們可以用建立一個資料類型的方式來將這些資料做整體發送。另一種解決方案就是,將這些資料打包發送,然後在接收端再解包。這種方式就是標題的這兩個函數的作用,他們就簡單的很多,因為邏輯非常單純。這裡有範例程式碼:

rsh/rlogin without password — Even for root

rsh可以用來執行一個command,如rsh localhost hostname 如果最後的command這個參數為空白,那麼rsh就會去調用rlogin,結果是-直接得到一個shell 預設情況下,這兩個東西執行的時候都是要求輸入密碼的,但可以通過配置“信任主機”的方式,來使得這兩者運行時不要求輸入密碼 具體配置如下: 1、編輯 /etc/xinetd.d/rsh 和 /etc/xinetd.d/rlogin 這兩個檔案,將其中的 disable=yes 都改成 disable=no 2、

普通CPU與伺服器CPU有何不同

Intel現在生產的CPU中,Pentium 4和Celeron是面向PC的,Xeon、XeonMP和Itanium是面向工作站和伺服器的。其中Itanium是與其他CPU完全不同的64位CPU,設計時並沒有考慮用於現有的Windows應用。其他的處理器雖然在最高工作頻率、FSB(前端匯流排頻率)和緩衝容量等方面各有不同,但內部設計基本相同,同時可保證軟體相容。Pentium

並行最佳化、xvout

編程最佳化:1. 編程最佳化,比如Fortran二維數組中,要按行存放,按列訪問,這樣可以讓cache工作更高效。2. 迴圈展開,如CPU一拍能做四次浮點運算,那麼可以將一個浮點計算迴圈(計算內容簡單的)拆分成每次迴圈step為4,迴圈體內手動做四次迴圈代碼。這樣代碼不好看,但是能得到效能提高。3. 運算順序的調整,減少CPU流水線的遲滯。可以和迴圈展開配合,得到更好的效能。3. 針對Cache的最佳化。    數組合并: 利用塊長,改善空間局部性    迴圈交換:

MPEG-4 14496-2和H.264什麼區別?

MPEG-4 Part 2, MPEG-4 Visual (formally ISO/IEC 14496-2[1]) is a video compression technology developed by MPEG. It belongs to the MPEG-4 ISO/IEC standards. It is a discrete cosine transform compression standard, similar to previous standards such as

emerge, equery使用

1. 如果要使用emerge安裝多個package,貌似不能在命令列中使用萬用字元。寫個指令碼可以搞定。2. 如果使用equery list '*'查詢出來某個package,名字是諸如:x11-base/xorg-drivers-1.12,那麼emerge x11-base/xorg-drivers-1.12是不行的。emerge會說找不到這個package。需要這樣寫:emerge "=x11-base/xorg-drivers-1.12",或者直接emerge

cron任務的注意點

1. crontab -e編輯定時任務,crontab -l查看。最後的cron任務檔案儲存在/var/spool/cron/crontab目錄下2. cron會切換到/var/spool/cron/crontab目錄下cron檔案的owner這個使用者,然後執行定義的定時任務。3. 但是cron切換使用者的時候,任何環境變數,包括.bashrc都不會被執行到。所以諸如$HOME這樣的變數也是沒有定義的。所以,一般在定時任務的指令碼中,我們會這樣處理:#!/bin/bashHOME=/home/

多線程程式中使用fork的問題

多線程程式裡不準使用forkUNIX上C++程式設計規則3準則3:多線程程式裡不準使用fork在多線程程式裡,在“自身以外的線程存在的狀態 ”下一使用fork的話,就可能引起各種各樣的問題.比較典型的例子就是,fork出來的子進程可能會死結.請不要,在不能把握問題的原委的情況下就在多線程程式裡fork子進程.能引起什麼問題呢?那看看執行個體吧.一執行下面的代碼,在子進程的執行開始處調用doit()時,發生死結的機率會很高.1      void* doit(void*) {23     

Machine type的匹配

在文章《ARM linux kernel從入口到start_kernel程式碼分析 -- 只到machine type選中為止》中,bootloader將machine type(是一個數字)放在了R5寄存器裡面,然後linux kernel枚舉所有machine type數字,找到匹配的,然後執行machine_desc結構中的一系列初始化函數。那在編寫kernel driver的時候,如何給板子申明一個machine

Bash script example – 使用parted可以非互動做磁碟分割操作

#!/bin/bash# Startup checkcase "$#" in2) echo "Install package: ${1} on device: ${2}, start working..." ;;*) echo "Usage: ${0} <l4t buildbrain file path> <SD card device file>" exit ;;esacfunction get_disk_info() { # look for a

Kernel: printk’s no_console_suspend

在kernel的printk.c中,有一個全域變數console_suspend_enabled,這個變數控制著當suspend之後,是否還可以往console上輸出message。預設是不可以的。這會給debug帶來一些困擾,尤其是suspend之後如果出現kernel panic或是其他異常情況的時候。所以,可以修改這個變數然後重新編譯kernel,或者kernel也提供了一個kernel cmdline:no_console_suspend,在kernel config的時候定義就OK了。

為什麼在make menuconfig中修改kernel啟動的CMDLINE不管用?

因為kernel啟動的CMDLINE有兩個來源:(1)來自bootloader。比如u-boot會將CMDLINE放在一個地址中,然後kernel從這個地址就可以取到。當然這個地址uboot和kernel的代碼中必須一致。(2)來自make menuconfig的時候的指定。在make menuconfig的時候,在Boot options->Kernel command line

[色彩校正] Gamma Correction

轉自:http://www.wretch.cc/blog/hamer/1724101 gamma correction簡單的說就是亮度校正, 但是調整gamma值不僅會影響image的亮度, 也會影響到R,G,B的比例gamma指的就是power function的指數, i.e. p(x) = x^(gamma) for example, x = 3, and gamma = 2, then x 經過 power function p的作用後其輸出的值不會是原來的 3 而變成 9

Kernel suspend的邏輯

代碼位於:power/suspend.c,從函數pm_suspend開始。suspend的邏輯和driver相關的主要就是遍曆所有device,並調用他們相關driver的suspend函數指標(包括該device的class,bus這些的suspend函數指標)。至於device調用的先後次序是這樣的:當我們執行device_add的時候,這些device會被加到一個dpm_list的list中,而且晚add的device會出現在list的靠前位置。也就是說,早add的device會晚一點被s

Memory management for graphic processors – TTM的由來

From: http://lwn.net/Articles/257417/The management of video hardware has long been an area of weakness in the Linux system (and free operating systems in general).  The X Window System tends to get a lot of the blame for problems in this area, but

How to create and apply patch by GIT

From: http://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-gitGit is quite common nowadays and a lot of people are asking me how they can create a patch file. Creating a patch file with git is quite easy to do, you just need to see how

A reworked contiguous memory allocator – CMA的解釋,很清楚

From: http://lwn.net/Articles/447405/The problem of allocating large chunks of physically-contiguous memory has often been discussed in these pages.  Virtual memory, by its nature, tends to scatter pages throughout the system; the kernel does not

總頁數: 61357 1 .... 26768 26769 26770 26771 26772 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.