當前位置:首頁 » 操作系統 » linux下程序

linux下程序

發布時間: 2024-12-07 00:22:26

① 如何運行 linux 下的軟體

運行linux程序有三種方法,分別是:

1、使文件具有可執行許可權,直接運行文件。

chmod命令用來修改文件的許可權。+x是使文件擁有可執行知拆的許可權。就如上面我們運行程序一樣。但是我們看到的結果與我們想像當中有一定的出入。

2、直接調用命令解釋器執沖笑行程序。

如下圖所示:

沒錯,這里我們發現當前的工作路徑發生了變化,(黑人問號???)但是究竟為什麼呢?讓我們帶著三個黑人問號詳細了解一下linux程序究竟怎麼執行。

② Linux 下應用程序最大打開文件數的理解和修改

運行在Linux系統上的java程序運行了一段時間後出現"Too many open files"的異常情況。

這種情況常見於高並發訪問文件系統,多線程網路連接等場景。程序經常訪問的文件、socket在Linux中都是文件file,系統需要記錄每個當前訪問file的name、location、access authority等相關信息,這樣的一個實體被稱為file entry。「open files table」(圖中橙色標識)存儲這些file entry,以數組的形式線性管理。文件描述符(file descriptor)作為進程到open files table的指針,也就是open files table的下標索引,將每個進程與它所訪問的文件關聯起來了。

   每個進程中都有一個file descriptor table管理當前進程所訪問(open or create)的所有文件,文件描述符關聯著open files table中文件的file entry。細節不表,對於open files table能容納多少file entry。Linux系統配置open files table的文件限制,如果超過配置值,就會拒絕其它文件操作的請求,並拋出Too many open files異常。這種限制有系統級和用戶級之分。

系統級:

系統級設置對所有用戶有效。可通過兩種方式查看系統最大文件限制

1 cat /proc/sys/fs/file-max

2 sysctl -a 查看結果中fs.file-max這項的配置數量

如果需要增加配置數量就修改/etc/sysctl.conf文件,配置fs.file-max屬性,如果屬性不存在就添加。

配置完成後使用sysctl -p來通知系統啟用這項配置

用戶級:

Linux限制每個登錄用戶的可連接文件數。可通過 ulimit -n來查看當前有效設置。如果想修改這個值就使用 ulimit -n 命令。

對於文件描述符增加的比例,資料推薦是以2的冪次為參考。如當前文件描述符數量是1024,可增加到2048,如果不夠,可設置到4096,依此類推。

在出現Too many open files問題後,首先得找出主要原因。最大的可能是打開的文件或是socket沒有正常關閉。為了定位問題是否由Java進程引起,通過Java進程號查看當前進程佔用文件描述符情況:

lsof -p $java_pid 每個文件描述符的具體屬性

lsof -p $java_pid | wc -l 當前Java進程file descriptor table中FD的總量

分析命令的結果,可判斷問題是否由非正常釋放資源所引起。

如果我們只是普通用戶,只是暫時的修改ulimit -n,可以直接shell命令來修改(ulimit -n 1024000)。但是這個設置時暫時的保留!當我們退出bash後,該值恢復原值。

如果要永久修改ulimit,需要修改/etc/security/limits.conf。

vim /etc/security/limits.conf

# 添加如下的行

* soft nofile 2048

* hard nofile 2048

以下是說明:

* 代表針對所有用戶

noproc 是代表最大進程數

nofile 是代表最大文件打開數

添加格式:

[username | @groupname] type resource limit

[username | @groupname]:設置需要被限制的用戶名,組名前面加@和用戶名區別。也可以用通配符*來做所有用戶的限制。

type:有 soft,hard 和 -,soft 指的是當前系統生效的設置值。hard 表明系統中所能設定的最大值。soft 的限制不能比hard 限制高。用 - 就表明同時設置了 soft 和 hard 的值。

resource:

core - 限制內核文件的大小(kb)

date - 最大數據大小(kb)

fsize - 最大文件大小(kb)

memlock - 最大鎖定內存地址空間(kb)

nofile - 打開文件的最大數目

rss - 最大持久設置大小(kb)

stack - 最大棧大小(kb)

cpu - 以分鍾為單位的最多 CPU 時間

noproc - 進程的最大數目

as - 地址空間限制

maxlogins - 此用戶允許登錄的最大數目

實例:

username soft nofile 2048

username hard nofile 2048

@groupname soft nofile 2048

@groupname hard nofile 2048

熱點內容
資料庫說明文檔 發布:2024-12-23 12:22:12 瀏覽:620
安卓手機玩mc卡怎麼辦 發布:2024-12-23 12:15:46 瀏覽:5
mt編譯時出現錯誤信息 發布:2024-12-23 12:15:45 瀏覽:107
雙存儲冗餘 發布:2024-12-23 12:09:16 瀏覽:664
解壓縮太慢 發布:2024-12-23 12:08:36 瀏覽:535
linux恢復誤刪文件 發布:2024-12-23 11:59:36 瀏覽:493
平板電腦賬號登錄伺服器錯誤 發布:2024-12-23 11:41:07 瀏覽:99
金蝶kis專業版資料庫表 發布:2024-12-23 11:35:41 瀏覽:602
相冊已經加密如何改密碼 發布:2024-12-23 11:32:20 瀏覽:277
批量下載鏈接腳本 發布:2024-12-23 11:29:11 瀏覽:973