新聞中心
Linux是一款非常強大的操作系統(tǒng),它以其開源、自由、靈活、高效、安全等特點深受廣大用戶喜愛和青睞。在Linux中,setcore是一款非常實用的工具,可以用來設(shè)置核心轉(zhuǎn)儲策略和參數(shù)。

創(chuàng)新互聯(lián)公司專注于彭山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供彭山營銷型網(wǎng)站建設(shè),彭山網(wǎng)站制作、彭山網(wǎng)頁設(shè)計、彭山網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造彭山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供彭山網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
本篇文章將從以下幾個方面進(jìn)行介紹:
– setcore的基本概念
– setcore的使用方法
– setcore的擴展功能
一、setcore的基本概念
setcore是一個用于設(shè)置/proc/sys/kernel下面與系統(tǒng)核心轉(zhuǎn)儲相關(guān)的文件的工具。它可以用來設(shè)置核心轉(zhuǎn)儲的文件路徑、文件名、文件大小等相關(guān)參數(shù)。
在Linux系統(tǒng)中,當(dāng)出現(xiàn)系統(tǒng)崩潰、應(yīng)用程序崩潰等問題時,setcore可以自動將核心轉(zhuǎn)儲文件保存在一個指定的目錄中,以便分析和定位問題。這個功能對于系統(tǒng)管理員、開發(fā)人員等使用Linux的人來說都是非常重要的,因為通過分析核心轉(zhuǎn)儲文件可以更快地發(fā)現(xiàn)問題和解決問題。
二、setcore的使用方法
setcore的使用方法非常簡單,只需要按照以下幾個步驟即可完成設(shè)置。
1、設(shè)置核心轉(zhuǎn)儲路徑
在Linux中,核心轉(zhuǎn)儲文件默認(rèn)保存在/var/crash目錄下,我們可以通過setcore來修改核心轉(zhuǎn)儲文件的保存路徑。
使用以下命令查看當(dāng)前的核心轉(zhuǎn)儲文件保存路徑:
# cat /proc/sys/kernel/core_pattern
/var/crash/%e.%p.core
接下來,我們可以使用setcore來修改保存路徑。例如,我們想把核心轉(zhuǎn)儲文件保存在/home/user/core目錄下,可以使用以下命令來修改:
# setcore -f /home/user/core/%e.%p.core
其中,參數(shù)-f用來指定核心轉(zhuǎn)儲文件的保存路徑。%e表示應(yīng)用程序名稱,%p表示應(yīng)用程序進(jìn)程號,這樣設(shè)置之后,核心轉(zhuǎn)儲文件就會保存在指定的目錄下了。
2、設(shè)置核心轉(zhuǎn)儲文件名稱
和核心轉(zhuǎn)儲路徑一樣,我們也可以使用setcore來設(shè)置核心轉(zhuǎn)儲文件的名稱。默認(rèn)情況下,核心轉(zhuǎn)儲文件的名稱為core.進(jìn)程號。如果我們想要修改核心轉(zhuǎn)儲文件的名稱,可以按照以下步驟進(jìn)行設(shè)置。
我們可以使用以下命令查看當(dāng)前的核心轉(zhuǎn)儲文件名稱:
# cat /proc/sys/kernel/core_pattern
/var/crash/%e.%p.core
接下來,我們可以使用setcore來修改核心轉(zhuǎn)儲文件的名稱。例如,我們想把核心轉(zhuǎn)儲文件名稱改為mycore.%e.%p,可以使用以下命令:
# setcore -n mycore.%e.%p
其中,參數(shù)-n用來指定核心轉(zhuǎn)儲文件的名稱,mycore表示新的文件名,%e表示應(yīng)用程序名稱,%p表示應(yīng)用程序進(jìn)程號。
3、設(shè)置核心轉(zhuǎn)儲文件大小
在Linux系統(tǒng)中,核心轉(zhuǎn)儲文件的大小有一個默認(rèn)限制,如果超過了這個限制,系統(tǒng)就不會再生成核心轉(zhuǎn)儲文件。我們可以使用setcore來修改核心轉(zhuǎn)儲文件的大小限制。
我們可以使用以下命令查看當(dāng)前的核心轉(zhuǎn)儲文件大小限制:
# cat /proc/sys/kernel/core_pattern
/var/crash/%e.%p.core
接下來,我們可以使用setcore來修改核心轉(zhuǎn)儲文件的大小限制。
例如,我們想把核心轉(zhuǎn)儲文件大小限制改為2GB,可以使用以下命令:
# setcore -s 2023
其中,參數(shù)-s用來指定核心轉(zhuǎn)儲文件的大小限制,這里的2023表示單位為MB,即2GB。
三、setcore的擴展功能
除了基本的核心轉(zhuǎn)儲路徑、名稱、大小等設(shè)置,setcore還有一些擴展功能,如設(shè)置核心轉(zhuǎn)儲文件的權(quán)限、設(shè)置核心轉(zhuǎn)儲文件的類型等。
1、設(shè)置核心轉(zhuǎn)儲文件的權(quán)限
我們可以使用setcore來設(shè)置核心轉(zhuǎn)儲文件的權(quán)限。通過設(shè)置核心轉(zhuǎn)儲文件的權(quán)限,我們可以控制不同用戶對核心轉(zhuǎn)儲文件的訪問權(quán)限,增加系統(tǒng)的安全性。
我們可以使用以下命令修改核心轉(zhuǎn)儲文件保存路徑:
# setcore -f /home/user/core/%e.%p.core
然后,我們可以使用以下命令來設(shè)置核心轉(zhuǎn)儲文件的權(quán)限:
# setcore -m 640
其中,參數(shù)-m用來設(shè)置核心轉(zhuǎn)儲文件的權(quán)限,640表示所有者可讀可寫,組可讀。
2、設(shè)置核心轉(zhuǎn)儲文件的類型
我們可以使用setcore來設(shè)置核心轉(zhuǎn)儲文件的類型。通過設(shè)置核心轉(zhuǎn)儲文件的類型,我們可以方便地將核心轉(zhuǎn)儲文件與其他日志文件、數(shù)據(jù)文件等進(jìn)行區(qū)分。
例如,我們可以使用以下命令來設(shè)置核心轉(zhuǎn)儲文件的類型為crashed:
# setcore -t crashed
其中,參數(shù)-t用來設(shè)置核心轉(zhuǎn)儲文件的類型,crashed表示文件類型為crashed。
:
通過本篇文章的介紹,我們可以看到,setcore是一款非常實用的工具,可以幫助我們方便地管理和設(shè)置核心轉(zhuǎn)儲文件,快速發(fā)現(xiàn)和解決問題。了解和掌握setcore的使用方法和擴展功能,對于Linux系統(tǒng)的管理員和開發(fā)人員都非常重要。
相關(guān)問題拓展閱讀:
- linux系統(tǒng)硬盤怎么格式化
- 修改linux系統(tǒng)socket緩沖區(qū)大小
linux系統(tǒng)硬盤怎么格式化
LVM將一個或多個硬盤的分區(qū)在邏輯上,相當(dāng)于一個大硬盤來使用,當(dāng)硬盤的空間不夠使用的時候,可以繼續(xù)將 其它 的硬盤的分區(qū)加入其中,這樣可以實現(xiàn)磁盤空間的動態(tài)管理,相對于普通的
磁盤分區(qū)
有很大的靈活性。那么你知道
linux系統(tǒng)
硬盤怎么格式化嗎?我?guī)砹薼inux系統(tǒng)硬盤格式化的具 體操 作過程,下面大家跟著我一起來學(xué)習(xí)一下吧。
linux系統(tǒng)硬盤怎么格式化
分區(qū)與格式化
先用fdisk分區(qū),分區(qū)完成后再用mkfs格式化并創(chuàng)建
文件系統(tǒng)
,掛載,磁盤就能使用啦。
分區(qū)的原理:
MBR:主引導(dǎo)扇區(qū)
主分區(qū)表:64bytes,最多只能分四個主分區(qū),每個主分區(qū)的記錄(相關(guān)信息,比如分區(qū)大小,位置)在主分區(qū)表里占14bytes。
野仿如果要建多于四個的分區(qū),就要拿出一個主分區(qū)做為擴展分區(qū),再在擴展分區(qū)里面進(jìn)行其扮模它的分區(qū)操作。在 建擴展分區(qū)的時候會建立一張對應(yīng)的擴展分區(qū)表,它記錄了在這個擴展分區(qū)里的分區(qū)的相關(guān)信息;理論上它沒有分區(qū)數(shù)量的限制,在擴展分區(qū)內(nèi)部的分區(qū)叫做邏輯分區(qū),如上圖中的 /dev/hda5,/dev/hda6/,/dev/hda7
格式化原理:
在分好區(qū)后,分區(qū)里面是空的,沒有任何東西。為了能讓OS識別,就必須要向分區(qū)里寫入相應(yīng)格式的數(shù)據(jù)。比如windows的FAT32,NTFS;Linux的ext2,ext3,ext4(目前ext3格式的用的比較多,ext4還廳脊緩在實驗之中,在新的Fedora上使用的就是ext4的文件系統(tǒng))。
Windows/dos常用的分區(qū)工具:fdisk/partition magic/diskpart
Linux下常用的分區(qū)工具:
fdisk/sfdisk:命令行工具,各種版本和環(huán)境都能使用,包含在軟件包util-linux中
diskdruid:圖形化分區(qū)工具,只能在安裝REDHAT系統(tǒng)時使用。
下面我們開始實驗:
環(huán)境/工具:Fedora 14/256M
內(nèi)存卡
;fdisk
之一步:fdisk
# fdisk -l /dev/sdb
Disk /dev/sdb: 254 MB,bytes
heads, 61 sectors/track, 1016 cylinders, totalsectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x
Device Boot Start End Blocks Id System
# fdisk /dev/sdb
Command (m for help): #在輸入上面的命令后會出現(xiàn)左邊的提示,輸入m就會得到一個幫助菜單,如下:
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
#help雖然是英文的,可都很簡單,在這里不再解釋。
#現(xiàn)在,我們正式開始分區(qū)的操作:
Command (m for help): n #新建分區(qū)
Command action
e extended
p primary partition (1-4)
#e/p分別對應(yīng)擴展分區(qū) /主分區(qū);我們先分四個主分區(qū),每個50M;然后再來增加主分區(qū)或擴展分區(qū),看會出現(xiàn)怎樣的狀況,嘿嘿。
p #分區(qū)類型為主分區(qū)
Partition number (1-4, default 1): 1 #分區(qū)號,在這里我們依次選擇1、2、3、4
First sector (, default 2023): #指定分區(qū)的起始扇區(qū),一般默認(rèn),按enter鍵即可。
Last sector, +sectors or +size{K,M,G} (, default): +50M #指定分區(qū)的終止扇區(qū),根據(jù)前面的提示我們可以做出相應(yīng)的選擇+sectors 或 +size{K,M,G}
Command (m for help): p #用p打印出已建好的分區(qū)列表
Disk /dev/sdb: 254 MB,bytes
heads, 61 sectors/track, 1016 cylinders, totalsectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x
Device Boot Start End Blocks Id System
/dev/sdbLinux
#剩下的三個分區(qū)的建立操作同上
#分好四個主分區(qū)后的情況如下
Command (m for help): p
Disk /dev/sdb: 254 MB,bytes
heads, 61 sectors/track, 1016 cylinders, totalsectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x
Device Boot Start End Blocks Id System
/dev/sdbLinux
/dev/sdbLinux
/dev/sdbLinux
/dev/sdb8 25+ 83 Linux
#已經(jīng)建好四個主分區(qū)啦,現(xiàn)在我們來看看如果再建主分區(qū)或是擴展分區(qū)的話會出現(xiàn)怎樣的情況:
Command (m for help): n
You must delete some partition and add an extended partition first
#看到了吧,不能再建分區(qū)啦!要再建分區(qū)的話必須刪除some分區(qū),再新建一個擴展分區(qū)才行。
#現(xiàn)在,我們刪掉一個主分區(qū),來新建擴展分區(qū)
Command (m for help): d #刪除分區(qū)
Partition number (1-4): 4 #選擇要刪除分區(qū)的分區(qū)號,我們選第四個
Command (m for help): p #打印,如下,四個分區(qū)變成了三個!
Disk /dev/sdb: 254 MB,bytes
heads, 61 sectors/track, 1016 cylinders, totalsectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x
Device Boot Start End Blocks Id System
/dev/sdbLinux
/dev/sdbLinux
/dev/sdbLinux
#新建一個擴展分區(qū)
#如果在沒有建滿三個主分的區(qū)的情況下建立擴展分區(qū),相關(guān)選項會有些不同。
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Selected partition 4
First sector (, default): #enter,默認(rèn)
Using default value
Last sector, +sectors or +size{K,M,G} (, default): #enter,默認(rèn),使用剩余空間
Using default value
Command (m for help): p
Disk /dev/sdb: 254 MB,bytes
heads, 61 sectors/track, 1016 cylinders, totalsectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x
Device Boot Start End Blocks Id System
/dev/sdbLinux
/dev/sdbLinux
/dev/sdbLinux
/dev/sdbExtended
#接下來,我們在新建的擴展分區(qū)里再新建兩個邏輯分區(qū),因為已經(jīng)有了三個主分區(qū),這里不會再顯示是建立邏輯分區(qū)還是主分區(qū)的提示!
Command (m for help): n
First sector (, default): #enter
Using default value
Last sector, +sectors or +size{K,M,G} (, default): +50M
Command (m for help): n
First sector (, default): #enter
Using default value
Last sector, +sectors or +size{K,M,G} (, default): #enter
Using default value
Command (m for help): p
Disk /dev/sdb: 254 MB,bytes
heads, 61 sectors/track, 1016 cylinders, totalsectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x
Device Boot Start End Blocks Id System
/dev/sdbLinux
/dev/sdbLinux
/dev/sdbLinux
/dev/sdbExtended
/dev/sdbLinux
/dev/sdbLinux
#上面的列表,就是我們今天分區(qū)的成果啦!接下來保存退出,重啟計算機,就可以進(jìn)行下一步的mkfs操作啦!如果忘記了相關(guān)的操作命令,記得按m!!!
Command (m for help): w #保存
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
另:在建好分區(qū)后,我們還可以更改相關(guān)分區(qū)的文件系統(tǒng)類型
#如,我們要把第二個主分區(qū)改成Linux下的交換分區(qū),操作如下
Command (m for help): t #更改文件系統(tǒng)類型
Partition number (1-6): 2 #選擇第二個分區(qū)
Hex code (type L to list codes): L #選擇要更改的文件系統(tǒng)編碼,可以按L來查看相關(guān)編碼信息。
Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
XENIX usr 40 VenixOS/2 hidden C: c6 DRDOS/sec (FAT-
…………
Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
c Hidden W95 FAT3 80 Old Minix be Solaris boot ff B
e Hidden W95 FAT1
Hex code (type L to list codes): 82 #查找到linux swap的編碼為82
Changed system type of partition 2 to 82 (Linux swap / Solaris)
Command (m for help): p
…………..
Device Boot Start End Blocks Id System
/dev/sdbLinux
/dev/sdbLinux swap / Solaris
/dev/sdbLinux
/dev/sdbExtended
/dev/sdbLinux
/dev/sdbLinux
#最后別忘了保存!如果你須要的話!
#擴展分區(qū)不能直接使用,邏輯分區(qū)只能建立在擴展分區(qū)上!
第二步:mkfs(mkfs時分區(qū)的格式更好與fdisk設(shè)定的分區(qū)格式一致,不然…….)
mkfs支持ext2 ext3 vfa msdos jfs reiserfs等文件系統(tǒng)。
用法1:mkfs -t
例: mkfs -t ext3 /dev/sdb2
用法2:mkfs.
例:mkfs,vfat /dev/sdb3
mke2fs支持ext2/ext3文件系統(tǒng)
用法:mke2fs
例:mke2fs -j /dev/sdb5
# 更多更具體的用法請參照相關(guān)命令的man手冊
下面,接著實驗:
例一
# mkfs -t ext3 /dev/sdb1
mke2fs 1.41.12 (17-May-2023)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
inodes,blocks
blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=
block groups
blocks per group, 8192 fragments per group
inodes per group
Superblock backups stored on blocks:
, 24577, 40961
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 34 mounts or
days, whichever comes first. Use tune2fs -c or -i to override.
例二:
# fdisk /dev/sdb
Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): L
Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
XENIX usr 40 VenixOS/2 hidden C: c6 DRDOS/sec (FAT-
FAT16
Extended 42 SFS 86 NTFS volume set da Non-FS data
FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
………
Hex code (type L to list codes): 7
Changed system type of partition 6 to 7 (HPFS/NTFS)
Command (m for help): p
Disk /dev/sdb: 254 MB,bytes
heads, 61 sectors/track, 1016 cylinders, totalsectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x
Device Boot Start End Blocks Id System
/dev/sdbLinux
/dev/sdbLinux swap / Solaris
/dev/sdbLinux
/dev/sdbExtended
/dev/sdbLinux
/dev/sdbHPFS/NTFS
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# mkfs.ntfs /dev/sdb6
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 100% – Done.
Creating NTFS volume structures.
修改linux系統(tǒng)socket緩沖區(qū)大小
進(jìn)行socket編程有時候可能需要修改下socket的接收緩沖區(qū)大小,這里可以使用 setsockopt 函數(shù),族祥但是如果需要修改的緩沖區(qū)很大(比如500MB),則還需要修改系統(tǒng)內(nèi)核的TCP/IP參數(shù),不然接收緩沖區(qū)大小會收到內(nèi)核參數(shù)的限制,所以需要改兩個地方。下面以把socket接收緩沖區(qū)握穗罩修改為500MB說明一下要作的修改?!禠inux就該這么學(xué)》
修改內(nèi)核TCP/IP參數(shù)
在終端用sysctl命令修改socket更大緩沖區(qū)限制:
sudo sysctl -w net.core.rmem_max=
在代碼中用setsockopt函數(shù)修改SO_RCVBUF選項
int recvbuff = 500*1024*1024;
if(setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, (const char*)&recvbuff, sizeof(int)) == -1)
printf(“setsocket error\n”);
else
printf(“setsocket success\n”);12345
以上兩點,只改第1點,一個socket只會預(yù)留63個報文的接收緩沖;只改第2點,緩沖區(qū)大小會受到rmem_max的限制,如果需要的段鬧緩沖區(qū)很大的話,必須兩點都改。
關(guān)于linux下setcore的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁題目:Linux下setcore使用指南(linux下setcore)
轉(zhuǎn)載源于:http://fisionsoft.com.cn/article/coohpdj.html


咨詢
建站咨詢
