tmp ডিরেক্টরিতে প্রতি সেকেন্ডে মুছে ফেলা ফাইলগুলি


13

ভুল করে আমি লক্ষ্য করেছি যে ইন / টিএমপি ডিরেক্টরিটি অবিচ্ছিন্নভাবে কিছু ফাইল তৈরি করা হয় তবে সাথে সাথে তা মুছে ফেলা হয়। ls -l /tmpআমি উত্তরাধিকারসূত্রে ব্যবহার করে তৈরি করা ফাইলগুলি ধরতে পেরেছি:

-rw------- 1 root root       0 Apr  2 19:37  YlOmPA069G
-rw------- 1 root root       0 Apr  2 19:37  l74jZzbcs6

বা অন্য উদাহরণ:

-rw------- 1 root root       0 Apr  2 19:44  AwVhWakvQ_
-rw------- 1 root root       0 Apr  2 19:44  RpRGl__cIM
-rw------- 1 root root       0 Apr  2 19:44  S0e72nkpBl
-rw------- 1 root root       0 Apr  2 19:44  emxIQQMSy2

এটি উবুন্টু সম্পর্কে 18.10 সাথে 4.18.0-16-জেনেরিক। এটি প্রায় একটি নতুন ইনস্টল: আমি কয়েকটি সার্ভার সফ্টওয়্যার যুক্ত করেছি (এনগিনেক্স, মাইএসকিএল, পিএইচপি 7.2-এফপিএম) তবে বন্ধ হওয়াতেও সমস্যাটি অব্যাহত রয়েছে।

ফাইলগুলি কী তৈরি হয় এবং কেন? কীভাবে আমি এই আচরণ বন্ধ করব? একটি এসএসডি- তে খুব অনাকাঙ্ক্ষিত

ধন্যবাদ!

হালনাগাদ

প্রশ্নটি কখন র্যামে / টিএমপি না রাখার বিষয়ে নয় (কোনও টিএমপিএফ নেই )।
দোষী সফ্টওয়্যারটি x2goserver.service otherwise অন্যথায় একটি অবশ্যই থাকতে হবে


2
"একটি এসএসডি-তে খুব অনাকাঙ্ক্ষিত" এইটি ব্যাখ্যা করুন? Tmpfs হিসাবে আপনার / tmp নেই? কেন না? মেমরির ফাইলগুলি একটি এসএসডি ক্ষতিগ্রস্থ করবে কেন?
রিঞ্জউইন্ড

2
/ tmp অগত্যা tmpfs নাও হতে পারে, সুতরাং এটি একটি বৈধ প্রশ্ন
কলিন ইয়ান কিং

2
হ্যাঁ, এটি কোনও এসএসডি-তে অনাকাঙ্ক্ষিত হবে, অন্তত যদি ডিরেক্টরি মেটাডেটা কেবল ক্যাশে গরম থাকার পরিবর্তে ডিস্কে আবার লেখা হয়। এ কারণেই /tmpসাধারণত tmpfs এ থাকে (একটি র‌্যামডিস্ক ফাইল সিস্টেম যা পেজকেচেটিকে তার ব্যাকিং স্টোর হিসাবে ব্যবহার করে); আপনি আপনার প্রশ্নটি টিএমপিএফ দিয়ে ট্যাগ করেছেন , সুতরাং এসএসডি সম্পর্কে আপনার মন্তব্যগুলি অযোগ্য।
পিটার কর্ডেস

1
দুর্দান্ত - এটির একটি অবশ্যই থাকতে হবে
এডিআরসিসি

2
@ পিটারকর্ডস আমি নিশ্চিত নই যে /tmpউবুন্টু ব্যবহারকারীর জন্য "সাধারণত টিএমপিএফএসে থাকে" উক্তিটি বৈধ - এটি কেবলমাত্র ডিফল্ট উবুন্টু ইনস্টলটি ব্যবহার /tmpকরে ডিস্কে রয়েছে এবং ওপিকে এটির জন্য উপযুক্ত fstab এন্ট্রি তৈরি করতে হবে tmpfs
চার্লস গ্রিন

উত্তর:


17

আমি এই ফাইলগুলি তৈরির প্রক্রিয়াটি সনাক্ত করতে fnotifystat ইনস্টল এবং চালানোর পরামর্শ দিচ্ছি:

sudo apt-get install fnotifystat
sudo fnotifystat -i /tmp

আপনি এমন প্রক্রিয়াটি দেখতে পাবেন যা খোলার / বন্ধ / পড়া / লেখার ক্রিয়াকলাপটি নীচের মতো কিছু করছে:

Total   Open  Close   Read  Write   PID  Process         Pathname
  3.0    1.0    1.0    0.0    1.0   5748 firefox         /tmp/cubeb-shm-5748-input (deleted)
  2.0    0.0    1.0    0.0    1.0  18135 firefox         /tmp/cubeb-shm-5748-output (deleted)
  1.0    1.0    0.0    0.0    0.0   5748 firefox         /tmp/cubeb-shm-5748-output (deleted)

3
পোস্টস্ক্রিপ্ট: আমি এই সরঞ্জামটির লেখক: kernel.ubuntu.com/~cking/fnotifystat
কলিন ইয়ান কিং

1
এবং আপনিই প্রথম যিনি প্রশ্নের উত্তর দিয়েছেন (যদিও এটি আর প্রদর্শিত হবে না)। এটি উপায় দ্বারা একটি ভাল সরঞ্জাম।
adrhc

খুব সুবিধাজনক ইউটিলিটির জন্য +1। /tmp/...সময়োচিতভাবে আমি আরও জটিল ডিবিইএসের পরিবর্তে ডিমন এবং ব্যবহারকারীর স্পেসের মধ্যে আইপিসির জন্য ফাইল তৈরির জন্য আমার পরবর্তী প্রকল্পটি পর্যবেক্ষণ করতে এটি ব্যবহার করতে পারি।
WinEunuuchs2 ইউনিক্স

8

কোন প্রোগ্রাম / প্রক্রিয়া ফাইলগুলি স্পর্শ করছে তা নির্ধারণ করুন

lsofকোন প্রক্রিয়াগুলি এবং বাইনারিগুলি কোন ফাইলগুলিতে স্পর্শ / খোলার তা নির্ধারণ করার জন্য আপনি সরঞ্জামগুলি ব্যবহার করতে পারেন । ফাইলগুলি ঘন ঘন পরিবর্তিত হলে এটি সমস্যা হতে পারে, সুতরাং আপনি পরিবর্তে আপনাকে জানানোর জন্য একটি ঘড়ি সেট আপ করতে পারেন:

$ sudo fnotifystat -i /tmp

কখনও কখনও, কেবল ব্যবহারকারী বা গোষ্ঠীর মালিকের দিকে তাকানো আপনাকে একটি ভাল ইঙ্গিত দেয় (অর্থাত্ ls -lsha:)।


/tmpডিস্কের পরিবর্তে র‌্যামে রাখুন

আপনি যদি চান, আপনি আপনার /tmpডিরেক্টরিটি র‌্যামে রাখতে পারেন। আপনাকে এটি নির্ধারণ করতে হবে যে এটি উপলব্ধ র‍্যামের সাথে সাথে পড়ার / লেখার আকার এবং ফ্রিকোয়েন্সি ভিত্তিতে একটি স্মার্ট পদক্ষেপ কিনা।

$ sudo vim /etc/fstab

...
# tmpfs in RAM
tmpfs         /tmp         tmpfs         defaults,noatime,mode=1777      0 0
...
$ sudo mount /tmp
$ mount | grep tmp # Check /tmp is in RAM
tmpfs on /tmp type tmpfs (rw,noatime)

আপনার যদি পর্যাপ্ত র‍্যাম থাকে তবে আপনার এসএসডি এর দীর্ঘায়ু, পাশাপাশি আপনার সিস্টেমের গতি উভয়ের জন্য এটি করা খুব ভাল জিনিস হিসাবে বিবেচিত হতে পারে। আপনি আরও আক্রমণাত্মক হওয়ার জন্য টুইট করে tmpreaper(কখনও কখনও tmpwatch) যদি সামান্য পরিমাণে র‍্যাম দিয়েও এটি সম্পাদন করতে পারেন ।


6

একটি এসএসডি-তে খুব অনাকাঙ্ক্ষিত

আপনি আপনার প্রশ্নটি দিয়ে ট্যাগ করেছেন , সুতরাং এটি এসএসডি-র সাথে কীভাবে সম্পর্কিত তা আমার পক্ষে মোটেও পরিষ্কার নয়। Tmpfs একটি ইন-মেমরি (বা আরও সুনির্দিষ্টভাবে, ইন-ব্লক-ক্যাশে) ফাইল সিস্টেম, তাই এটি কোনও শারীরিক ডিস্কে কখনও আঘাত করবে না।

তদুপরি, আপনার /tmpফাইল সিস্টেমের জন্য যদি আপনার একটি শারীরিক ব্যাকিং স্টোর ছিল , যদি না আপনার হাতে কেবল কয়েক কিলোবাইট র‌্যামের সিস্টেম থাকে তবে সেই স্বল্প-স্থায়ী ফাইলগুলি কখনই ডিস্কটিতে আঘাত করে না, সমস্ত ক্রিয়াকলাপ ক্যাশে ঘটবে।

সুতরাং, অন্য কথায়, যেহেতু আপনি টিএমপিএফ ব্যবহার করছেন তা নিয়ে উদ্বিগ্ন হওয়ার কিছু নেই, এবং যদি আপনি না হন তবে এখনও উদ্বিগ্ন হওয়ার কিছু নেই।


আমি / টিএমপি র‌্যামে রাখি তাই ভুল করে আমি আমার বর্তমান এফএস টাইপ (টিএমপিএফ) এর সাথেও ট্যাগ করেছিলাম। আমি এখন এটি সরিয়ে ফেলেছি তবে আমি উত্তর পেয়েছি আপনি খুব কার্যকর তাই আমার থেকে 1 আপ।
adrhc

@ অ্যাড্রিএইচসি: যদি আপনার /tmpর‌্যাম থাকে তবে আপনার এসএসডি এর সাথে যা করার তা কিছুই নেই, সুতরাং এটি বাঞ্ছনীয় বা অযাচিত নয় বরং বাস্তবে সম্পূর্ণ সম্পর্কিত নয়।
জার্গ ডব্লু মিট্টাগ

আমি সম্মত তবে প্রশ্নটি কখন র্যামে / টেম্প না রাখার বিষয়ে। এটি কেবল ঘটেছে যে আমার / টেম্পে র‌্যাম ছিল; তবুও, সমস্যাটি আমাকে উত্সাহিত করেছিল।
adrhc

0

এসএসডি লেখার সহনশীলতা নিয়ে লোকেরা খুব বেশি চিন্তিত হয়। ধরে নিই যে একটি খালি ফাইল তৈরি করা এবং মুছতে প্রতি সেকেন্ডে 24 কেবি লেখা হয় এবং জনপ্রিয় স্যামসাং 860 ইভিও 250 গিগাবাইটের জন্য 150 টিবিডাব্লিউ স্পেক ব্যবহার করে, ওয়্যার-আউট লাগে 193 বছর!

(150 * 10 ^ 12) / ((2 * 3 * 4 * 1024) * 60 * 60 * 24 * 365.25) = 193

Ext4 ফাইল সিস্টেমের জন্য, লাইফটাইম রাইটগুলি খুঁজে পেতে "tune2fs -l" ব্যবহার করুন। অথবা, "স্মার্টলেট -এ" ব্যবহার করুন এবং টোটাল_এলবিএ_রাইটের সন্ধান করুন। আমি সবসময়ই খুঁজে পাই এসএসডির প্রচুর জীবন বাকি আছে।


প্রশ্নটি "ফাইলগুলি কীভাবে তৈরি হয় এবং কেন? আমি এই আচরণটি কীভাবে বন্ধ করব?", আপনার "উত্তর" প্রশ্নের সাথে কীভাবে খাপ খায়?
বাম্মি

যদিও প্রশ্নের সরাসরি উত্তর না দিয়ে আমি এই তথ্যটি দরকারী বলে মনে করি তবুও এই কমান্ডগুলি কীভাবে ব্যবহার করতে হয় তার সাথে খুব সুনির্দিষ্ট না। যেমন টিউন 2fs সহ আমি পাই tune2fs: Bad magic number in super-block while trying to open /dev/nvme0n1 Found a gpt partition table in /dev/nvme0n1
adrhc

0

আপনি ভুল /dev/nvme0...নামটি ব্যবহার করছিলেন :

$ sudo tune2fs -l /dev/nvme0n1
tune2fs 1.42.13 (17-May-2015)
tune2fs: Bad magic number in super-block while trying to open /dev/nvme0n1
Couldn't find valid filesystem superblock.

সঠিক বিন্যাসটি হ'ল:

$ sudo tune2fs -l /dev/nvme0n1p6
tune2fs 1.42.13 (17-May-2015)
Filesystem volume name:   New_Ubuntu_16.04
Last mounted on:          /
Filesystem UUID:          b40b3925-70ef-447f-923e-1b05467c00e7
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              2953920
Block count:              11829504
Reserved block count:     534012
Free blocks:              6883701
Free inodes:              2277641
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1021
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8160
Inode blocks per group:   510
Flex block group size:    16
Filesystem created:       Thu Aug  2 20:14:59 2018
Last mount time:          Thu Apr  4 21:05:29 2019
Last write time:          Thu Feb 14 21:36:27 2019
Mount count:              377
Maximum mount count:      -1
Last checked:             Thu Aug  2 20:14:59 2018
Check interval:           0 (<none>)
Lifetime writes:          4920 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       1308352
Default directory hash:   half_md4
Directory Hash Seed:      a179d56c-6c68-468c-8070-ffa5bb7cd973
Journal backup:           inode blocks

এনভিএম এসএসডি এর আজীবন যতদূর যায়:

$ sudo nvme smart-log /dev/nvme0
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning                    : 0
temperature                         : 38 C
available_spare                     : 100%
available_spare_threshold           : 10%
percentage_used                     : 0%
data_units_read                     : 22,351,778
data_units_written                  : 14,667,833
host_read_commands                  : 379,349,109
host_write_commands                 : 127,359,479
controller_busy_time                : 952
power_cycles                        : 1,925
power_on_hours                      : 1,016
unsafe_shutdowns                    : 113
media_errors                        : 0
num_err_log_entries                 : 598
Warning Temperature Time            : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1                : 38 C
Temperature Sensor 2                : 49 C
Temperature Sensor 3                : 0 C
Temperature Sensor 4                : 0 C
Temperature Sensor 5                : 0 C
Temperature Sensor 6                : 0 C
Temperature Sensor 7                : 0 C
Temperature Sensor 8                : 0 C

এখানে মূল লাইনটি হ'ল:

percentage_used                     : 0%

ব্যবহারের 18 মাস পরে এসএসডি শতাংশ ব্যবহার 0%। যদি 3 বছর ব্যবহারের পরে এটি 1% হিট হয় তবে আমি জানি এসএসডি 300 বছর ধরে চলবে।

স্পষ্টতই এই মন্তব্যটি অন্য মন্তব্যে জবাব দেওয়ার জন্য মন্তব্য বিভাগে মাপসই হবে না।


টিউন 2fs আউটপুট থেকে কোন অংশটি এসএসডি-র জীবনের সময়ের সাথে সম্পর্কিত?
adrhc

@ অ্যাড্রেইচসি আমি ফ্রেস গানের উত্তর সম্পর্কে একটি ত্রুটি বার্তা দেখানো tune2fsআপনার মন্তব্যের প্রতিক্রিয়া হিসাবে কল করার সঠিক উপায়টি দেখিয়েছিলাম।
WinEunuuchs2 ইউনিক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.