लिनक्स 3.2 के लिए कॉम्पैक का उपयोग कैसे करें (डेबियन व्हीज़ी)


3

मैं डेबियन व्हीज़ी (3.2 कर्नेल) के लिए कैसे सेट अप और कॉन्कच को कॉन्फ़िगर कर सकता हूं। जहां तक ​​मैं समझ सकता हूं कि कॉम्पैक अब कर्नेल में है और डेबियन रेपो में नहीं पाया जाना चाहिए। Compcache मेरे सर्वश्रेष्ठ ज्ञान के लिए सुलभ थ्रू / a sys या / proc इंटरफ़ेस होना चाहिए, लेकिन मैं यह पता नहीं लगा सकता कि यह कहां है / इसे डेबियन में क्या कहा जाता है।

जवाबों:


1

कुछ खोज के बाद मुझे एक स्क्रिप्ट मिली, जो काफी अच्छी तरह से समझाती है कि ज़रम को कैसे चालू किया जाए, जो कॉम्पैक की जगह लेता है। संपादित करें: मैंने स्क्रिप्ट को थोड़ा बदल दिया है - यह अद्यतन संस्करण है।

संपादित करें: 2016. नीचे मैंने zram के लिए एक systemd सेवा उदाहरण भी जोड़ा (जो कि compcache के समान है)

#! /bin/sh
### BEGIN INIT INFO
# Provides:          zramstuff
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2
# Default-Stop:      0 6
# Short-Description: Enable swap to compressed ram
# Description:       Enables swapping to compressed ram
### END INIT INFO

case "$1" in
  start)

       # get the number of CPUs
       num_cpus=$(grep -c processor /proc/cpuinfo)
       # if something goes wrong, assume we have 1
       [ "$num_cpus" != 0 ] || num_cpus=1

       # set decremented number of CPUs
       decr_num_cpus=$((num_cpus - 1))

       # get the amount of memory in the machine
       mem_total_kb=$(grep MemTotal /proc/meminfo | grep -E --only-matching '[[:digit:]]+')
       mem_total=$((mem_total_kb * 1024))

       # load dependency modules
       modprobe zram zram_num_devices=$num_cpus

       # initialize the devices
       for i in $(seq 0 $decr_num_cpus); do
         echo $((mem_total / num_cpus)) > /sys/block/zram$i/disksize
       done

       # Creating swap filesystems
       for i in $(seq 0 $decr_num_cpus); do
         mkswap /dev/zram$i
       done

       # Switch the swaps on
       for i in $(seq 0 $decr_num_cpus); do
         swapon -p 100 /dev/zram$i
       done

       ;;
  stop)
       # get the number of CPUs
       num_cpus=$(grep -c processor /proc/cpuinfo)

       # set decremented number of CPUs
       decr_num_cpus=$((num_cpus - 1))

       # Switching off swap
       for i in $(seq 0 $decr_num_cpus); do
         if [ "$(grep /dev/zram$i /proc/swaps)" != "" ]; then
           swapoff /dev/zram$i
         fi
       done

       rmmod zram
       ;;
esac

Systemd सेवा उदाहरण: (डेबियन पर परीक्षण)

[Unit]
Description=Set up zram
Conflicts=hibernate.service

[Service]
Environment=ZRAM_MEM=1G
Environment=ZRAM_CMPALGO=lz4
Environment=ZRAM_CMPSTREAMS=2

Type=oneshot
User=root
ExecStartPre=/bin/sh -c "/sbin/modprobe zram num_devices=1"
ExecStartPre=/bin/sh -c "echo $ZRAM_CMPALGO >/sys/block/zram0/comp_algorithm"
ExecStartPre=/bin/sh -c "echo $ZRAM_CMPSTREAMS >/sys/block/zram0/max_comp_streams"
ExecStartPre=/bin/sh -c "echo $ZRAM_MEM > /sys/block/zram0/disksize"
ExecStartPre=/bin/sh -c "/sbin/mkswap /dev/zram0"
ExecStart=/sbin/swapon /dev/zram0 -p 10

ExecStop=/sbin/swapoff /dev/zram0
ExecStop=/bin/echo 1 > /sys/block/zram0/reset
ExecStop=/sbin/rmmod zram

RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

0

मेरा मानना ​​है कि SWAP compcacheनामक एक उपकरण के रूप में दिखाई देगा /dev/ramzswap0। आपको इसे सूचीबद्ध उपयोग करके देखने में सक्षम होना चाहिए blkid


नहीं, ramzswap0 मौजूद नहीं है और न ही ऐसा कुछ है जो उस तरह दिखता है जैसे / dev / में
वैक्सहेड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.