আমি এমন একটি সফ্টওয়্যার নিয়ে কাজ করছি যা রিয়েল টাইম ডেটা সার্ভারের সাথে সংযুক্ত হয় (টিসিপি ব্যবহার করে) এবং আমার কিছু সংযোগ নেমে গেছে। আমার ধারণা হ'ল ক্লায়েন্টরা সার্ভার থেকে আসা ডেটা দ্রুত পর্যায়ে পড়েন না। অতএব আমি আমার টিসিপি সকেটগুলি পর্যবেক্ষণ করতে চাই। এর জন্য আমি "এসএস" সরঞ্জামটি পেয়েছি।
এই সরঞ্জামটি প্রতিটি সকেটের অবস্থা দেখতে দেয় - কমান্ডের আউটপুটটির উদাহরণ লাইন এখানে ss -inm 'src *:50000'
ESTAB 0 0 184.7.60.2:50000 184.92.35.104:1105
mem:(r0,w0,f0,t0) sack rto:204 rtt:1.875/0.75 ato:40
আমার প্রশ্ন: মেমরি অংশটির অর্থ কী? সরঞ্জামটির উত্স কোডটি দেখে আমি দেখতে পেলাম যে ডেটা কার্নেল স্ট্রাকচার ( sock
ইন sock.h
) থেকে আসছে । আরও স্পষ্টভাবে, এটি ক্ষেত্রগুলি থেকে আসে:
r = sk->sk_rmem_alloc
w = sk->sk_wmem_queued;
f = sk->sk_forward_alloc;
t = sk->sk_wmem_alloc;
কেউ কি জানেন যার অর্থ? আমার অনুমানগুলি হ'ল:
rmem_alloc
: ইনবাউন্ড বাফারের আকারwmem_alloc
: বহির্মুখী বাফার আকারsk_forward_alloc
: ???sk->sk_wmem_queued
: ???
আমার বাফার আকার এখানে:
net.ipv4.tcp_rmem = 4096 87380 174760
net.ipv4.tcp_wmem = 4096 16384 131072
net.ipv4.tcp_mem = 786432 1048576 1572864
net.core.rmem_default = 110592
net.core.wmem_default = 110592
net.core.rmem_max = 1048576
net.core.wmem_max = 131071