• 关于

    Linux常用指令

    的搜索结果

问题

linux常用指令有哪些?

聆听connect 2020-07-23 00:20:40 8 浏览量 回答数 1

问题

云服务器 ECS 常用 Linux 系统软件源配置说明及常见问题说明

boxti 2019-12-01 22:02:38 1573 浏览量 回答数 0

回答

可以直接调用reboot函数,如reboot(0);也可以通过system接口调用,system(reboot)。 Linux 的五个重启命令:shutdown、poweroff、init、reboot、halt。 1、五个重启命令的具体说明,shutdown,reboot。 在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。 2、shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕。 3、有些linux的发行版要执行reboot命令必须有root权限,是不是你没有拿到root权限啊。 “答案来源于网络,供您参考” 希望以上信息可以帮到您!

牧明 2019-12-02 02:16:19 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

问题

阿里云 mysql 数据库导入出错

小旋风柴进 2019-12-01 20:15:18 1020 浏览量 回答数 1

回答

Re内网IP服务器怎么更新软件 那后面则怎么测试呢??? ------------------------- Re内网IP服务器怎么更新软件 前期就是噱头,不开公网就没法用啊 ------------------------- Re内网IP服务器怎么更新软件 看了大神们的经验贴,Linux常用软件可以通过yum指令查找並安装

zzghiker 2019-12-02 01:29:18 0 浏览量 回答数 0

问题

云服务器 ECS Linux 更新操作最佳实践是什么

boxti 2019-12-01 22:05:28 1841 浏览量 回答数 0

问题

【开源分享】- 常用JDK原生指令2期

montos 2020-04-29 12:57:01 131 浏览量 回答数 1

回答

Linux下如何进行FTP设置  ECSLinux服务器如何配置网站以及绑定域名  Ubuntu安装vncserver实现图形化访问  阿里云Docker镜像库  ECSlinux中添加ftp用户,并设置相应的权限  CentOS6.5安装vncserver实现图形化访问  LinuxSCP命令复制传输文件的用法  Mysql,phpmyadmin密码忘了怎么  Linux下l2tp客户端xl2tpd的安装配置  使用SFTP方式传输文件  ECSLinux系统盘网站数据更换至数据盘  WDCP的报错处理  Linux中PHP如何安装curl扩展方法  修改Linux服务器的ssh端口  ECSLinux配置vnc文档  运维分享--阿里云linux系统mysql密码修改脚本  20步打造最安全的NginxWeb服务器  SSH配置存在问题,导致登录和传输数据很慢  ECSLinux下如何查看定位当前正在运行的Nginx的配置文件  ECS服务器CentOS系统如何开放端口  查看Linux下默认的DNS  FTP主动被动模式配置混乱导致无法登录  linux环境配置phpmyadmin  ECSLinux系统下VSFTP配置的FTP上传文件报错“553Couldnotcreatefile”  ECSLinuxMysql启动提示Toomanyarguments(firstextrais'start')  运维分享--阿里云linux系统ssh远程连接检查脚本  ECSLinux系统授权mysql外网访问  ECSLinux服务器nginx禁止空主机头配置  ECSLinux服务器通过FTP无法查看到.htaccess文件  ECSLinux服务器下Mysql自动备份脚本的使用方法  ECS-linux授权mysql外网访问  用date命令修改Linux系统的时间为什么无效  运维分享--阿里云linux系统web日志分析脚本  ECSLinux服务器messagebus默认关闭导致安装桌面环境后无法正常使用  ECSNginx+php中php-fpm参数配置  运维分享--阿里云linux系统mysql连接检查脚本  iptables的conntrack表满了导致访问网站很慢  运维分享--阿里云linux系统带宽监测脚本  如何调整目录文件的拥有者和拥有组  yum操作报错处理  ECSLinux配置vsftpd限制FTP账户访问其它目录  vsftp报错:500OOPS:vsftpd:cannotlocateuserspecifiedin'ftp_username':ftp  Linux主机系统目录误操作权限修改为777修复方法  ECSNginx中https的配置说明  运维分享--阿里云linux系统负载状态检查脚本  ECSLinux服务器AMH云主机面板启动、关闭操作  ECSLinux服务器关闭磁盘自检  ECSLinux配置key认证登录后因为相关文件权限错误导致连接失败-Connectionclosedbyforeignhost  ECSLinux系统服务器解决ssh反向代理监听ip错误问题  ECSLinux设置定时任务crontab  ECSGentoo系统中mirrorselect获取内容失败提示Nameorservicenotknown  ECSLinux系统服务器ping域名返回Unknownhost报错  IIS、Nginx或Apache访问日志存在182.92.12.0/24段访问记录  Nginx日志的解释  ECSLinux系统wget下载文件  ECSLinux服务器内部无法解析域名  ECS路由表错误导致无法ping通  ECSLinux主机修改主机名  wordpress插件oss4wpurl无法访问  ECSLinux查看隐藏文件  Linux系统服务器解决vsftp服务使用root登录失败  ECSLinuxPPTP客户端登陆后获取地址错误  Linux系统服务器解决内外双网卡均显示内网IP地址问题  ECSLinux系统NetworkManager导致网络异常  外部PingECSLinux丢包严重  ECSLinux检查Nginx配置文件  ECSLinux系统判断当前运行的Apache所使用的配置文件  Apache访问日志的说明  ECSLinux.htacess文件上传无法显示  linux服务器内无法访问其他站点的检查处理方法  ECSmysql无法启动报错Can'tcreate/writetofile'/tmp/ibfguTtC  ECSLiunx系统服务器执行ls查询命令提示bash:ls:commandnotfound  Linux为何执行命令会执行历史命令  ECSLinux系统如何检查系统上一次重启的时间  ECSLinux下MySQL排查基本步骤  Linux系统如何查看mysql版本号  MySQL中查看慢SQL的日志文件方法  phpMyAdmin修改配置可以上传大文件  openSUSE下开机自动运行脚本命令的方法  给Linux系统添加一个回收站  ECSLinux分区异常无法挂载  ECSLinux上安装Cloudfs启动失败提示找不到库文件libunwind.so.8  ECSLinux清理/tmp目录下的文件原理  Liunx系统服务器通过prefork模块限制apache进程数量  ECSCentOS6.5系统下Apache配置https服务  Noinputfilespecified的解决方法  Apache、Nginx支持跨域访问  Apache环境下配置404错误页方法  ECSLinux通过修改Apache配置301重定向的方法  ECSLinux主机无法互访处理  ECSlinux服务器启用了TRACEMethod.怎么关闭  Apache运行参考的调整优化  ECSApache如何关闭目录访问  ECS服务器隐藏apache版本信息  ECSLinux判断HTTP端口监听状态的方法  ECSLinuxApache限制客户端访问网站的速度  负载均衡+ECS站点虚拟子目录的设置案例  ECS网站访问504错误分析  为何Ubuntu开启UFW后,VPC下的SNAT转发就失效了  ECSDebian自定义镜像启动无法SSH  ECSLinux云服务器如何确认文件系统只读?  ECSLinux创建文件报错Read-onlyfilesystem  恢复ext4文件系统中使用rm命令误删除的文件  ECSLinux删除乱码文件的方法  net.ipv4.tcp_fin_timeout修改导致的TCP链接异常排查  ECSLinux执行sh脚本提示Nosuchfileordirectory  /var/log/message日志报错  通过sshtunnel连接内网ECS和RDS  CentOS7中MySQL服务启动失败的解决思路  ECSLinux系统启动提示“Giverootpasswordformaintenance”  结束云盾客户端进程后如何启用  Ubuntu服务器中配置AWStats  CentOS6非root用户使用sftp服务  ssh避免客户端长久未操作导致连接中断  删除binglog导致mysql无法启动  ECSLinux服务器修改SSH端口号不生效的检查方法  ftp传输失败问题解决方法  ECSLinux下使用extundelete恢复被误删的文件  ECSLinux基于nginx环境通过.htaccess配置rewrite伪静态示例  ECSLinux系统利用openssl生成强密码  ECSCentOS6配置PPTPVPN  Last命令关于reboot记录的含义  Ubuntu修改运行级别的总结  ECSCentOS6系统PPTPVPN脚本  ECSLinux系统如何配置gentoo的源  ECSCentOS系统配置VPN客户端  多域名跳转——不同域名指向不同子目录  Centos配置PPTPVPN后无法打开网页  mysql不能远程连接  ECSLinux系统修改文件或目录权限方法  ECSWDCP破解mysql以及wdcp后台管理密码  ECSLinux系统如何设置SSH白名单  EcsLinux系统一键安装web环境下tomcat添加站点方法  Centos7安装vnc  Setuptools软件包版本太老导致ECSLinux安装AliyunCLI出错  Apache配置二级域名  ECSlinux重启丢失分区表  Linux系统服务器安装使用sar工具获取系统运行状态方式  ECSUbuntu开启sftp连接  linux系统mysql跳过密码登陆操作登陆设置  mysql报错LostconnectiontoMySQLserverat'readinginitialcommunicationpacket'  Ubuntuapt-get安装提errorprocessingpackageinstall-info(--configure)  Nodejs的版本升级和使用  Nodejs连接RDSMySQL数据库  ECS公共镜像Ubuntu,Centos的内核版本查看方法  ECSLinux服务器修改时区  Apache禁止未经许可的域名访问ECS上的网站  ECSLinux如何隐藏文件和文件夹  ECSmysql.sock丢失问题解决方法  ECSLinux云服务器centos将系统时区从UTC时间改为CST  ECSLinux云服务器权限问题说明  ECSLinux系统盘数据转移方法  Linux下忘记mysql的root密码  ECSMySQL编译安装支持innodb引擎  ECSLinuxNAT哈希表满导致服务器丢包  ECSLinux服务器重启后mount出错的解决方法  Centos6.5添加IPv6支持  ECSubuntu系统修改DNS/etc/resolv.conf无法保存  ECSLinux如何增加虚拟内存swap  ECSLinuxtraceroute使用方法  ECSLinux系统磁盘再次挂载报错没有有效的分区表  如何删除yum的缓存信息  ECSLinux服务器yum的查询功能  centos6怎么使用RPMForge软件源仓库  ECSLinux服务器Nginxrewrite示例  ECSLinuxCentOS6ssh连上就断掉并报错“fatal:mm_request_send:write:Brokenpipe”  mysql上传报错#1064-YouhaveanerrorinyourSQLsyntax  EcsLinux中rpm安装文件命令常用选项  ECSLinux系统kjournald进程占用io资源高的解决方法  ECSLinux如果通过i节点删除无法删除的文件  ECSLinux基于zabbix搭建企业级监控平台  ECSLinux系统yum卸载重装  ECSCentOS6.5OpenVPN配置  ECSLinux使用SFTP登陆时报错:Receivedunexpectedend-of-filefromSFTPserver  ECSLinux如何增加数据盘iNode数量  ECSLinux查看目录没有颜色  ECSLinux系统tmp目录的安全设置  ECSLinux下shm设备的安全设定  ECSCentOS多线程下载工具Axel使用说明  ECSLinuxcurl使用证书访问HTTPS站点  Linux系统中vsftp用户无法登陆的相关说明  Nginx配置文件中rewrite指令标志位的说明与使用  ECSLinux中ss命令显示连接状态的使用说明  ECSLinux系统没有程序运行通过top观察发现cpu很空闲  Linux下的文件权限检查和修改  ECSLinux云服务器利用chatter命令锁定系统重要文件  ECSCentos7安装OpenVPN  ECS上搭建反向代理通过内网访问OSS服务  ECSLinux下的script命令记录用户操作行为  Ubuntu下使用slay命令结束某个用户的所有进程  Nginx配置文件中root与alias指令的区别  Nginx配置文件中rewrite指令的使用  ECSLinux如何修改PATH变量  Centos安装桌面后在远程终端管理里面无法使用键盘和鼠标  ECSLinux下Apache忽略网站URL的大小写的方法  ECSLinux服务器利用Nethogs监控每个进程的网络使用情况  ECSapt-get安装软件或更新时提示apt-get的Segmentationfaultsts  ubuntu开机出现memtest86,重启也无法取消的原因  Linux下History命令显示操作时间,用户和登录IP  ECSLinux服务器使用htop监控负载 “答案来源于网络,供您参考” 希望以上信息可以帮到您!

牧明 2019-12-02 02:16:20 0 浏览量 回答数 0

问题

年末最后一天:为你心爱的linux控制面板 投票把~ 进来投票分享送云币!

asky8 2019-12-01 21:36:53 16340 浏览量 回答数 31

回答

有的,就是使用perf跟踪PostgreSQL 前提是: 要输出完备的跟踪信息,如符号表,call stack traces, 汇编指令。必须在编译PostgreSQL时设置相应的编译开关。 其次建议Linux内核编译时加上 CONFIG_KALLSYMS=y CONFIG_FRAME_POINTER=y 编译perf时需要支持libunwind, 并加上 如果是yum安装的软件,可以安装对应的debuginfo包。 常用的跟踪手段 1. benchmark 首先,需要定一个目标 实时跟踪 pgbench压测的同时,实时观测。 跟踪事件计数(指定事件)指定命令进行跟踪,或者指定PID进行跟踪。 采样跟踪,这个是用得最多的,先采样,后分析报告。 生成报告,使用perf record收集了统计信息到perf.data,接下来就对perf.data进行分析,输出报告。 生成火焰图 git clone https://github.com/brendangregg/FlameGraph or download it from github mv perf.data FlameGraph/ cd FlameGraph perf script | ./stackcollapse-perf.pl > out.perf-folded cat out.perf-folded | ./flamegraph.pl > perf-kernel.svg kernel source 动态跟踪 PostgreSQL source 动态跟踪 参考文献:《Linux 性能诊断 perf使用指南》

1006541099824509 2019-12-02 03:14:41 0 浏览量 回答数 0

问题

给pcDuino上安装录屏软件?报错

爱吃鱼的程序员 2020-06-22 11:46:43 0 浏览量 回答数 1

问题

为什么云服务器 ECS Linux 执行命令会导致实际执行的是历史命令

boxti 2019-12-01 22:05:32 1180 浏览量 回答数 0

问题

Linux运维人员最常用150个命令汇总

福利达人 2019-12-01 21:47:08 3342 浏览量 回答数 1

问题

SSH 无法远程登录问题的处理思路是什么

boxti 2019-12-01 22:00:30 1833 浏览量 回答数 0

问题

Linux下MySQL的一些基本使用方法

rcshi 2019-12-01 20:04:41 9399 浏览量 回答数 2

问题

网络异常时抓包怎么操作

boxti 2019-12-01 21:48:11 1632 浏览量 回答数 0

问题

网络异常时抓包操作说明

妙正灰 2019-12-01 21:08:50 3968 浏览量 回答数 3

问题

云服务器 ECS Linux下的文件权限如何进行加固

boxti 2019-12-01 22:02:26 1248 浏览量 回答数 0

问题

为什么云服务器 ECS Linux 服务器 umount 数据盘提示:device is busy

boxti 2019-12-01 22:03:40 1224 浏览量 回答数 0

问题

LINUX日志系统之WEB日志(一)

麻子来了 2019-12-01 21:43:45 7487 浏览量 回答数 1

回答

CUDA (Compute Unified Device Architecture) 是显卡厂商 NVIDIA 推出的运算平台。 CUDA™ 是一种由 NVIDIA 推出的通用并行计算架构,该架构使 GPU 能够解决复杂的计算问题。 它包含了 CUDA 指令集架构(ISA)以及 GPU 内部的并行计算引擎。 开发人员现在可以使用 C 语言, C++ , FORTRAN 来为 CUDA™ 架构编写程序,所编写出的程序可以在支持 CUDA™ 的处理器上以超高性能运行。 GPU 云服务器采用 NVIDIA 显卡,需要安装 CUDA 开发运行环境。以目前最常用的 CUDA 7.5 为例,可参照以下步骤进行安装。 Linux 系统指引 登录 CUDA驱动下载 或复制链接 https://developer.nvidia.com/cuda-75-downloads-archive 。 选择操作系统和安装包。以 CentOS 7.2 64 位为例,可按如下方式进行选择: 注意: Installer Type 推荐选择 rpm(network)。 network:网络安装包,安装包较小,需要在主机内联网下载实际的安装包。 local:本地安装包。安装包较大,包含每一个下载安装组件的安装包。 右击【Download】-【复制链接地址】。登录 GPU 实例,使用 wget 命令, 粘贴上述步骤复制的链接地址下载安装包;或通过在本地系统下载 CUDA 安装包, 上传到 GPU 实例的服务器。 在 CUDA 安装包所在目录下运行如下命令: sudo rpm -i cuda-repo-rhel7-7.5-18.x86_64.rpm sudo yum clean all sudo yum install cuda 在 /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery 目录下,执行 make 命令,可以编译出 deviceQuery 程序。 执行 deviceQuery 正常显示如下设备信息,此刻认为 CUDA 安装正确。 Windows 系统指引 要在 Windows 实例上安装 CUDA ,请使用远程桌面以管理员的身份登录您的 Windows 实例。 在 CUDA 驱动官网 下载 CUDA 安装包。 选择操作系统和安装包。以 Win Server 2012 R2 64 位为例,可按如下方式进行选择:启动安装程序,按提示进行安装,如果最后出现完成对话框,则安装成功。 答案来源网络,供参考,希望对您有帮助!

社区助手 2019-12-02 02:19:08 0 浏览量 回答数 0

回答

Linux 系统中常常会因为设置了不正确的文件或目录权限导致出现系统安全问题。因此在日常的系统维护中,应该能做到及时发现不正确的文件权限设置并能及时修正,防患于未然,这里介绍几种用安全加固的方法: 1. 查找系统中任何用户都拥有写入权限的文件或者目录,并保存在文件中用于检查。 find / - type f –perm -2 -o –perm -20 > wmodfiles.txt find / - type d –perm -2 -o –perm -20 > wmoddir.txt 2. 查找系统中没有属主的文件 find / -nouser –o –nogroup > orphan.txt 这种无属主的文件对于系统的安全也能造成一定的威胁,有时候也会成为入侵者的工具,建议发现之后,要么修改其属主信息,要么删除,以免后患。 3. 查找系统中设置了 S 位的程序 find / -type f -perm -4000 –o –perm -2000 > smod.txt 含有 S 位权限的程序对系统的威胁很大,可以把某些没必要使用 S 位权限的应用程序去掉,以防用户权限的滥用。  4.利用 chatter 命令来锁定系统的重要文件。 指令使用格式: chatter [-RV] [-v version] [mode] files… 主要参数说明: -R:递归的修改一个目录下的所有文件以及相应的子目录。 -V:显示修改内容,并在屏幕上打印输出。 Mode:部分是用来设置或修改文件属性的,一般常用的参数是: +:在原属性上追加属性。 -:在原属性上移除属性。 a:  在设定该参数后只能向文件中添加数据而不能删除文件,常用于服务器的系统日志安全(只有root用户才能设定该属性)。 i:在设定该参数后该文件不能被写入数据或者被修改,删除,重命名,设定连接等。 在基本了解该命令的用法后,可以对系统中的常见文件设定安全属性了,示例:  另外,用户也可以对常见目录,例如/bin、/boot、/lib等目录加上 i 属性,对系统常用的日志文件例如 /var/log/messages 和 /var/log/wtmp 也可以加上 a 属性。 虽然通过对重要文件进行加锁的方式能让服务器的安全性提高,但是在运维管理上也会出现一些不方便,例如修改密码时因为 /etc/shadow 文件有 i 属性,会导致密码修改失败。同时对日志文件加入 a 属性,可能会使得日志轮换功能 logrotate 的失败。另外,在软件的安装和升级时可能需要去掉有关目录和文件的 i 属性和 a 属性。 所以,建议用户使用 chattr 命令锁定系统文件时,必须要结合服务器的应用环境来决定是否应用 a 属性和 i 属性。

KB小秘书 2019-12-02 01:28:37 0 浏览量 回答数 0

回答

如果Linux系统的ECS实例CPU持续保持高使用率,则会对系统稳定性和业务运行造成影响。可以按如下步骤进行处理。 定位问题。找到影响CPU使用率过高的具体进程。 分析处理。查看影响CPU使用率过高的进程是否正常,并分类进行处理。 对于正常进程:您需要对程序进行优化或者升级服务器配置。 对于异常进程:您可以手动对进程进行查杀,也可以使用第三方安全工具去查杀。 CPU负载的查询分析 在Linux系统中,查看进程的常用命令如下所示。本文主要介绍vmstat和top。 vmstat top ps -aux ps -ef 使用vmstat命令查看 通过vmstat命令,从系统维度查看CPU资源的使用情况。命令格式类似如下,表示结果一秒刷新一次。 vmstat -n 1 示例如下。 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 2684984 310452 2364304 0 0 5 17 19 35 4 2 94 0 0 0 0 0 2687504 310452 2362268 0 0 0 252 1942 4326 5 2 93 0 0 0 0 0 2687356 310460 2362252 0 0 0 68 1891 4449 3 2 95 0 0 0 0 0 2687252 310460 2362256 0 0 0 0 1906 4616 4 1 95 0 0 注:返回结果中的主要数据列说明如下。 r:表示系统中CPU等待处理的线程。一个CPU每次只能处理一个线程,所以该数值越大,通常表示系统运行越慢。 us:用户模式消耗的CPU时间百分比。该值较高时,说明用户进程消耗的CPU时间比较多。如果该值长期超过50%,则需要对程序算法或代码等进行优化。 sy:内核模式消耗的CPU时间百分比。 wa:IO等待消耗的CPU时间百分比。该值较高时,说明IO等待比较严重,这可能磁盘大量作随机访问造成的,也可能是磁盘性能出现了瓶颈。 id:处于空闲状态的CPU时间百分比。如果该值持续为0,同时sy是us的两倍,则通常说明系统面临CPU资源短缺。 使用top命令查看 登录Linux实例,关于如何登录Linux实例,请参考使用管理终端连接Linux实例。 执行如下命令,从进程纬度来查看CPU、内存等资源的使用情况。命令格式类似如下。 top 系统显示类似如下。 top - 17:27:13 up 27 days, 3:13, 1 user, load average: 0.02, 0.03, 0.05 Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.1 st KiB Mem: 1016656 total, 946628 used, 70028 free, 169536 buffers KiB Swap: 0 total, 0 used, 0 free. 448644 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 41412 3824 2308 S 0.0 0.4 0:19.01 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd 针对负载问题,您只需关注回显的第一行和第三行信息,详细说明如下。 top命令的第一行显示的内容17:27:13 up 27 days, 3:13, 1 user, load average: 0.02, 0.03, 0.05,依次为系统当前时间、系统到目前为止已运行的时间、当前登录系统的用户数量、系统负载,这与直接执行uptime命令查询结果一致。 top命令的第三行会显示当前CPU资源的总体使用情况,下方会显示各个进程的资源占用情况。 通过 P 键,可以对CPU使用率进行倒序排列,进而定位系统中占用CPU较高的进程。 提示:通过 M 键,您可以对系统内存使用情况进行排序。如果有多核CPU,数字键1可以显示每核CPU的负载状况。 执行如下命令,可以查看每个进程ID对应的程序文件。 ll /proc/PID/exe 操作案例 案例一:使用top命令终止CPU消耗较大的进程 通过top命令查看系统的负载问题,并定位耗用较多CPU资源的进程,在运行界面快速终止相应的异常进程。 想要终止某个进程,先键入小写字母 k。 输入想要终止的进程PID,默认为输出结果的第一个PID。如下图所示,假如想要终止PID为23的进程,输入23后回车。 操作成功后,界面会出现类似Send pid 23 signal [15/sigterm]的提示信息让用户进行确认。按回车确认即可。 案例二:CPU使用率较低但负载较高 问题描述 当前Linux系统没有业务程序运行。通过top命令观察,发现CPU很空闲,但是load average却非常高,如下图所示。 处理办法 load average是对CPU负载进行评估的,其值越高说明其任务队列越长,处于等待执行的任务越多。出现此种情况时,可能是由于僵死进程导致的。可以通过ps -axjf命令查看是否存在 D+ 状态进程,该状态是指不可中断的睡眠状态。处于该状态的进程无法终止,也无法自行退出。只能通过恢复其依赖的资源或者重启系统来解决。 案例三:kswapd0进程占用CPU较高 操作系统使用分页机制来管理物理内存。操作系统将磁盘的一部分划出来作为虚拟内存,由于内存的速度要比磁盘快得多,所以操作系统要按照某种换页机制将不需要的页面换到磁盘中,将需要的页面调到内存中。由于内存持续不足,这个换页动作持续进行。kswapd0是虚拟内存管理中负责换页的进程,当服务器内存不足的时候kswapd0会执行换页操作,这个换页操作是十分消耗主机CPU资源的。如果通过top命令发现该进程持续处于非睡眠状态,且运行时间较长,可以初步判定系统在持续的进行换页操作,可以将问题转向内存不足的原因来排查。 问题描述 kswapd0进程占用了系统大量CPU资源。 处理办法 执行如下命令,查看kswapd0进程。 top 系统显示类似如下,发现kswapd0进程持续处于非睡眠状态,且运行时间较长并持续占用较高CPU资源,则通常是由于系统在持续的进行换页操作所致。 通过free 、ps等指令进一步查询系统及系统内进程的内存占用情况,做进一步排查分析。 针对系统当前内存不足的问题,您可以重启一些服务,释放内存。 提示:从长远的角度来看,您需要对内存大小进行升级。

1934890530796658 2020-03-26 00:48:16 0 浏览量 回答数 0

问题

如何修改Linux时区的2种办法

cbits 2019-12-01 21:36:59 1267 浏览量 回答数 0

回答

Re数据管理DMS-精华帖 命令终端能否自定义颜色,谢谢 谢谢楼上的哥们。 请问可以自定义背景颜色么 ------------------------- Re数据管理DMS-精华帖 建议在命令终端添加"常用命令管理",每次手输/复制也很麻烦,出一个列表,鼠标点击,就输入了,能提高效率 ------------------------- Re数据管理DMS-精华帖 命令界面的登录,能否设置声音可选,每次登录,会被突然一惊,谢谢 ------------------------- Re数据管理DMS-精华帖 请问这个产品支持Windows Server操作系统吗?谢谢 ------------------------- Re数据管理DMS-精华帖 请问现在linux终端的超时时间是多少呢?感觉很快就要求我重新连接了。能否设置长一些时间,谢谢! ------------------------- Re数据管理DMS-精华帖 批量终端这个工具是蛮好用的,感谢DMS团队的努力。我感觉10台机器之内,可以使用,多了,就要用fabric之类的工具了。 ------------------------- 回 65楼钟隐的帖子 现在的批量操作,可能会有一定的局限性,举个例子,如果某台机器指令执行失败,那批量操作就不同步了,而且也占用浏览器资源和服务器资源。我在公司基本用fabric批量操作机器,轻巧灵便。但是要写python脚本,很多人可能并不具备这种能力,也觉得麻烦。能否将类似的这种工具界面化,应该会受到很多人的欢迎。举个例子,先编写一条命令,然后再勾选该命令需要发送的机器,显示执行结果。或者是选择一个文件,批量复制到别的机器。 ------------------------- Re数据管理DMS-精华帖 在终端粘贴命令会不认,必须要手动输入,比如"nginx -t",之前没碰过这个问题

fightgod 2019-12-02 02:01:30 0 浏览量 回答数 0

回答

本文总结了常见的 Linux 内核参数及相关问题。修改内核参数前,您需要: 从实际需要出发,最好有相关数据的支撑,若您的业务没有受到影响不建议调整内核参数。 了解每一个参数的具体作用,并且同类型或版本操作系统下内核参数可能有所不同。 备份 ECS 实例中的重要数据。参阅文档 创建快照。 Linux 常用内核网络参数 参数 描述 net.core.rmem_default 默认的 TCP 数据接收窗口大小(字节)。 net.core.rmem_max 最大的 TCP 数据接收窗口(字节)。 net.core.wmem_default 默认的 TCP 数据发送窗口大小(字节)。 net.core.wmem_max 最大的 TCP 数据发送窗口(字节)。 net.core.netdev_max_backlog 在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。 net.core.somaxconn 定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。 net.core.optmem_max 表示每个套接字所允许的最大缓冲区的大小。 net.ipv4.tcp_mem 确定 TCP 栈应该如何反映内存使用,每个值的单位都是内存页(通常是 4KB)第一个值是内存使用的下限;第二个值是内存压力模式开始对缓冲区使用应用压力的上限;第三个值是内存使用的上限。在这个层次上可以将报文丢弃,从而减少对内存的使用。对于较大的 BDP 可以增大这些值(注意:其单位是内存页而不是字节)。 net.ipv4.tcp_rmem 为自动调优定义 socket 使用的内存。第一个值是为 socket 接收缓冲区分配的最少字节数;第二个值是默认值(该值会被 rmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值;第三个值是接收缓冲区空间的最大字节数(该值会被 rmem_max 覆盖)。 net.ipv4.tcp_wmem 为自动调优定义 socket 使用的内存。第一个值是为 socket 发送缓冲区分配的最少字节数;第二个值是默认值(该值会被 wmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值;第三个值是发送缓冲区空间的最大字节数(该值会被 wmem_max 覆盖)。 net.ipv4.tcp_keepalive_time TCP 发送 keepalive 探测消息的间隔时间(秒),用于确认 TCP 连接是否有效。 net.ipv4.tcp_keepalive_intvl 探测消息未获得响应时,重发该消息的间隔时间(秒)。 net.ipv4.tcp_keepalive_probes 在认定 TCP 连接失效之前,最多发送多少个 keepalive 探测消息。 net.ipv4.tcp_sack 启用有选择的应答(1 表示启用),通过有选择地应答乱序接收到的报文来提高性能,让发送者只发送丢失的报文段,(对于广域网通信来说)这个选项应该启用,但是会增加对 CPU 的占用。 net.ipv4.tcp_fack 启用转发应答,可以进行有选择应答(SACK)从而减少拥塞情况的发生,这个选项也应该启用。 net.ipv4.tcp_timestamps TCP 时间戳(会在 TCP 包头增加 12 B),以一种比重发超时更精确的方法(参考 RFC 1323)来启用对 RTT 的计算,为实现更好的性能应该启用这个选项。 net.ipv4.tcp_window_scaling 启用 RFC 1323 定义的 window scaling,要支持超过 64KB 的 TCP 窗口,必须启用该值(1 表示启用),TCP 窗口最大至 1GB,TCP 连接双方都启用时才生效。 net.ipv4.tcp_syncookies 表示是否打开 TCP 同步标签(syncookie),内核必须打开了 CONFIG_SYN_COOKIES 项进行编译,同步标签可以防止一个套接字在有过多试图连接到达时引起过载。默认值 0 表示关闭。 net.ipv4.tcp_tw_reuse 表示是否允许将处于 TIME-WAIT 状态的 socket (TIME-WAIT 的端口)用于新的 TCP 连接。 net.ipv4.tcp_tw_recycle 能够更快地回收 TIME-WAIT 套接字。 net.ipv4.tcp_fin_timeout 对于本端断开的 socket 连接,TCP 保持在 FIN-WAIT-2 状态的时间(秒)。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。 net.ipv4.ip_local_port_range 表示 TCP/UDP 协议允许使用的本地端口号。 net.ipv4.tcp_max_syn_backlog 对于还未获得对方确认的连接请求,可保存在队列中的最大数目。如果服务器经常出现过载,可以尝试增加这个数字。默认为 1024。 net.ipv4.tcp_low_latency 允许 TCP/IP 栈适应在高吞吐量情况下低延时的情况,这个选项应该禁用。 net.ipv4.tcp_westwood 启用发送者端的拥塞控制算法,它可以维护对吞吐量的评估,并试图对带宽的整体利用情况进行优化,对于 WAN 通信来说应该启用这个选项。 net.ipv4.tcp_bic 为快速长距离网络启用 Binary Increase Congestion,这样可以更好地利用以 GB 速度进行操作的链接,对于 WAN 通信应该启用这个选项。 net.ipv4.tcp_max_tw_buckets 该参数设置系统的 TIME_WAIT 的数量,如果超过默认值则会被立即清除。默认为 180000。 net.ipv4.tcp_synack_retries 指明了处于 SYN_RECV 状态时重传 SYN+ACK 包的次数。 net.ipv4.tcp_abort_on_overflow 设置改参数为 1 时,当系统在短时间内收到了大量的请求,而相关的应用程序未能处理时,就会发送 Reset 包直接终止这些链接。建议通过优化应用程序的效率来提高处理能力,而不是简单地 Reset。默认值: 0 net.ipv4.route.max_size 内核所允许的最大路由数目。 net.ipv4.ip_forward 接口间转发报文。 net.ipv4.ip_default_ttl 报文可以经过的最大跳数。 net.netfilter.nf_conntrack_tcp_timeout_established 让 iptables 对于已建立的连接,在设置时间内若没有活动,那么则清除掉。 net.netfilter.nf_conntrack_max 哈希表项最大值。 查看和修改 Linux 实例内核参数 方法一、通过 /proc/sys/ 目录 /proc/sys/ 目录是 Linux 内核在启动后生成的伪目录,其目录下的 net 文件夹中存放了当前系统中生效的所有内核参数、目录树结构与参数的完整名称相关,如 net.ipv4.tcp_tw_recycle,它对应的文件是 /proc/sys/net/ipv4/tcp_tw_recycle,文件的内容就是参数值。 查看内核参数:使用 cat 查看对应文件的内容,例如执行命令 cat /proc/sys/net/ipv4/tcp_tw_recycle 查看 net.ipv4.tcp_tw_recycle 的值。 修改内核参数:使用 echo 修改内核参数对应的文件,例如执行命令 echo "0" > /proc/sys/net/ipv4/tcp_tw_recycle 将 net.ipv4.tcp_tw_recycle 的值修改为 0。 注意:方法一修改的参数值仅在当次运行中生效,系统重启后会回滚历史值,一般用于临时性的验证修改的效果。若需要永久性的修改,请参阅方法二。 方法二、通过 sysctl.conf 文件 查看内核参数:执行命令 sysctl -a 查看当前系统中生效的所有参数,如下所示: net.ipv4.tcp_app_win = 31 net.ipv4.tcp_adv_win_scale = 2 net.ipv4.tcp_tw_reuse = 0 net.ipv4.tcp_frto = 2 net.ipv4.tcp_frto_response = 0 net.ipv4.tcp_low_latency = 0 net.ipv4.tcp_no_metrics_save = 0 net.ipv4.tcp_moderate_rcvbuf = 1 net.ipv4.tcp_tso_win_divisor = 3 net.ipv4.tcp_congestion_control = cubic net.ipv4.tcp_abc = 0 net.ipv4.tcp_mtu_probing = 0 net.ipv4.tcp_base_mss = 512 net.ipv4.tcp_workaround_signed_windows = 0 net.ipv4.tcp_challenge_ack_limit = 1000 net.ipv4.tcp_limit_output_bytes = 262144 net.ipv4.tcp_dma_copybreak = 4096 net.ipv4.tcp_slow_start_after_idle = 1 net.ipv4.cipso_cache_enable = 1 net.ipv4.cipso_cache_bucket_size = 10 net.ipv4.cipso_rbm_optfmt = 0 net.ipv4.cipso_rbm_strictvalid = 1 修改内核参数: 执行命令   /sbin/sysctl -w kernel.domainname="example.com"  来修改指定的参数值,如 sysctl -w net.ipv4.tcp_tw_recycle="0" 执行命令   vi /etc/sysctl.conf  修改   /etc/sysctl.conf  文件中的参数。 执行命令   /sbin/sysctl -p  使配置生效。 Linux 网络相关内核参数引发的常见问题及处理 问题现象 原因分析 解决方案 无法在本地网络环境通过 SSH 连接 ECS Linux 实例,或者访问该 Linux 实例上的 HTTP 业务出现异常。Telnet 测试会被 reset。 如果您的本地网络是 NAT 共享方式上网,该问题可能是由于本地 NAT 环境和目标 Linux 相关内核参数配置不匹配导致。尝试通过修改目标 Linux 实例内核参数来解决问题:1. 远程连接目标 Linux 实例;2. 查看当前配置: cat /proc/sys/net/ipv4/tcp_tw_recyclecat /proc/sys/net/ipv4/tcp_timestamps 查看上述两个配置的值是不是 0,如果为 1的话,NAT 环境下的请求可能会导致上述问题。 通过如下方式将上述参数值修改为 0:1. 执行命令 vi /etc/sysctl.conf。2. 添加如下内容:net.ipv4.tcp_tw_recycle=0net.ipv4.tcp_timestamps=0。3. 输入指令 # sysctl -p 使配置生效。4. 重新 SSH 登录实例或者业务访问测试。 服务端 A 与 客户端 B 建立了 TCP 连接,之后服务端 A 主动断开了连接,但是在客户端 B 上仍然看到连接是建立的。示例见图一,图二。 通常是由于修改了服务端内核参数 net.ipv4.tcp_fin_timeout 默认设置所致。 1. 执行命令 vi /etc/sysctl.conf,修改配置:net.ipv4.tcp_fin_timeout=30。2. 执行命令 # sysctl -p 使配置生效。 通过 netstat 或 ss 可以看到大量处于 TIME_WAIT 状态的连接。 通过 netstat -n | awk ‘/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}’ 查看 TIME_WAIT 数量。 1. 执行命令 vi /etc/sysctl.conf,修改或加入以下内容: net . ipv4 . tcp_syncookies = 1 net . ipv4 . tcp_tw_reuse = 1 net . ipv4 . tcp_tw_recycle = 1 net . ipv4 . tcp_fin_timeout = 30 2. 执行命令 /sbin/sysctl -p  使配置生效。 云服务器上出现大量 CLOSE_WAIT 状态的连接数。 根据实例上的业务量来判断 CLOSE_WAIT 数量是否超出了正常的范围。TCP 连接断开时需要进行四次挥手,TCP 连接的两端都可以发起关闭连接的请求,若对端发起了关闭连接,但本地没有进行后续的关闭连接操作,那么该链接就会处于 CLOSE_WAIT 状态。虽然该链接已经处于半开状态,但是已经无法和对端通信,需要及时的释放该链接。建议从业务层面及时判断某个连接是否已经被对端关闭,即在程序逻辑中对连接及时进行关闭检查。 通过命令 netstat -an|grep CLOSE_WAIT|wc -l 查看当前实例上处于 CLOSE_WAIT 状态的连接数。Java 语言:1. 通过 read 方法来判断 I/O 。当 read 方法返回 -1 时则表示已经到达末尾。2. 通过 close 方法关闭该链接。C 语言:1. 检查 read 的返回值,若是 0 则可以关闭该连接,若小于 0 则查看一下 errno,若不是 AGAIN 则同样可以关闭连接。 ECS Linux FIN_WAIT2 状态的 TCP 链接过多。 HTTP 服务中,SERVER 由于某种原因关闭连接,如 KEEPALIVE 的超时。这样,作为主动关闭的 SERVER 一方就会进入 FIN_WAIT2 状态。但 TCP/IP 协议栈中,FIN_WAIT2 状态是没有超时的(不像 TIME_WAIT 状态),如果 Client 不关闭,FIN_WAIT_2 状态将保持到系统重启,越来越多的 FIN_WAIT_2 状态会致使内核 Crash。 1. 执行命令 vi /etc/sysctl.conf,修改或加入以下内容: net . ipv4 . tcp_syncookies = 1 net . ipv4 . tcp_fin_timeout = 30 net . ipv4 . tcp_max_syn_backlog = 8192 net . ipv4 . tcp_max_tw_buckets = 5000 2. 执行命令 # sysctl -p 使配置生效。 查询服务器 /var/log/message 日志,发现全部是类似如下 kernel: TCP: time wait bucket table overflowt 的报错信息,报错提示 TCP time wait 溢出,见图三。 TCP 连接使用很高,容易超出限制。见图四。 1. 执行命令 netstat -anp |grep tcp |wc -l统计 TCP 连接数。2. 对比 /etc/sysctl.conf 配置文件的 net.ipv4.tcp_max_tw_buckets 最大值,看是否有超出情况。3. 执行命令 vi /etc/sysctl.conf,查询 net.ipv4.tcp_max_tw_buckets 参数。如果确认连接使用很高,容易超出限制。4. 调高参数 net.ipv4.tcp_max_tw_buckets,扩大限制。5. 执行命令 # sysctl -p 使配置生效。 ECS Linux 实例出现间歇性丢包的情况,通过 tracert, mtr 等手段排查,外部网络未见异常。同时,如下图所示,在系统日志中重复出现大量kernel nf_conntrack: table full, dropping packet.错误信息。见图五。 ip_conntrack 是 Linux 系统内 NAT 的一个跟踪连接条目的模块。ip_conntrack 模块会使用一个哈希表记录 TCP 通讯协议的 established connection 记录,当哈希表满了的时候,会导致 nf_conntrack: table full, dropping packet 错误。需要通过修改内核参数来调整 ip_conntrack 限制。 Centos 5.x 系统1. 使用管理终端登录实例。2. 执行命令 # vi /etc/sysctl.conf 编辑系统内核配置。3. 修改哈希表项最大值参数:net.ipv4.netfilter.ip_conntrack_max = 655350。4. 修改超时时间参数:net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1200,默认情况下 timeout 是5天(432000秒)。5. 执行命令 # sysctl -p 使配置生效。Centos 6.x 及以上系统:1. 使用管理终端登录实例。2. 执行命令 # vi /etc/sysctl.conf 编辑系统内核配置。3. 修改哈希表项最大值参数:net.netfilter.nf_conntrack_max = 655350。4. 修改超时时间参数:net.netfilter.nf_conntrack_tcp_timeout_established = 1200,默认情况下 timeout 是5天(432000秒)。5. 执行命令 # sysctl -p 使配置生效。 客户端做了 NAT 后无法访问 ECS、RDS,包括通过 SNAT VPC 访问外网的 ECS 。无法访问连接其他 ECS 或 RDS 等云产品,抓包检测发现远端对客户端发送的 SYN 包没有响应。 若远端服务器同时开启 net.ipv4.tcp_tw_recycle 和 net.ipv4.tcp_timestamps,即参数取值为 1 时,服务器会检查每一个报文的时间戳(Timestamp),若 Timestamp 不是递增的关系,则不做处理。做了 NAT 后,服务器看到来自不同的客户端的 IP 相似,但 NAT 前每一台客户端的时间可能会有偏差,在服务器上就会看到 Timestamp 不是递增的情况。 - 远端服务器为 ECS:修改参数 net.ipv4.tcp_tw_recycle 为 0。- 远端服务器为 RDS 等 PaaS 服务:RDS 无法直接修改内核参数,需要在客户端上修改参数 net.ipv4.tcp_tw_recycle 和 net.ipv4.tcp_timestamps 为 0。 参考链接 Linux man-pages kernel/git/torvalds/linux.git_proc kernel/git/torvalds/linux.git_proc_net_tcp kernel/git/torvalds/linux.git_ip-sysctl kernel/git/torvalds/linux.git_netfilter-sysctl kernel/git/torvalds/linux.git_nf_conntrack-sysctl 图一: 客户端 B TCP 连接 图二: 客户端 A TCP 连接 图三: 报错提示 TCP time wait 溢出 图四: 查询 net.ipv4.tcp_max_tw_buckets 参数 图五: ECS Linux 实例间歇性丢包

KB小秘书 2019-12-02 02:05:57 0 浏览量 回答数 0

回答

概述 Linux中有各种查看网络流量的工具,比如sar、iftop、nethogs等。它们可以从不同的纬度来分析系统中流量信息,本文进行简要介绍。 详细信息 阿里云提醒您: 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。 对于正常进程导致的带宽跑满或跑高的问题,需要对服务器的带宽进行升级。对于异常进程,有可能是由于恶意程序问题,或者是部分IP恶意访问导致,也可能是服务遭到了CC攻击。可以安装如下步骤进行排查。 定位问题。找到影响带宽使用率过高的具体进程。 分析处理。排查影响带宽使用率过高的进程是否正常,并分类进行处理。 对于正常进程:您需要对程序进行优化或者升级带宽。 对于异常进程:您可以手动对进程进行查杀,也可以使用第三方安全工具进行查杀。 本文相关配置及说明已在CentOS 6.5 64位操作系统中进行过测试。其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档。 sar的使用 sar可以从网络接口层面来分析数据包的收发情况、错误信息等。使用sar来监控网络流量的常用命令如下所示。 sar -n DEV [interval] [count] 注:interval参数是统计间隔,count参数是统计次数。 使用示例 执行如下命令,使用sar每1秒统计一次网络接口的活动状况,连续显示5次。 sar -n DEV 1 5 命令执行后会列出每个网卡5次的平均数据取值,根据实际情况来确定带宽跑满的网卡名称,对于ECS实例来说,通常内网网卡为eth0,外网网卡为eth1,系统显示类似如下,确认是eth1通过流量较大,然后执行以下步骤检查具体问题。 显示结果主要字段说明 IFACE:网络接口名称。 rxpck/s、txpck/s:每秒收或发的数据包数量。 rxkB/s、txkB/s:每秒收或发的字节数,以kB/s为单位。 rxcmp/s、txcmp/s:每秒收或发的压缩过的数据包数量。 rxmcst/s:每秒收到的多播数据包。 iftop的使用 iftop命令常见用法如下。参数-i后跟的interface表示网络接口名,比如eth0、eth1等等。如果不通过-i参数指定接口名,则默认检测第一块网卡的使用情况。 iftop [-i interface] 使用示例 登录Linux实例,关于如何登录Linux实例,请参考使用管理终端连接Linux实例。 执行如下命令,安装iftop流量监控工具。 yum install iftop -y 执行如下命令,可以查看流量较高的是哪个端口建立的连接,以及内网流量。 iftop -i eth1 -P 注:-P参数将会显示请求端口。 系统显示类型如下。 执行如下命令,查看端口对应的进程。 netstat -tunlp |grep [$Port] 注:[$Port]为上一步查看的端口。 系统显示类型如下。 确认对应服务后,您可以通过停止服务或使用iptables服务来对指定地址进行处理,例如屏蔽IP地址或限速,以保证服务器带宽能够正常使用。 显示结果主要字段说明 第一行:带宽使用情况显示。 中间部分为外部连接列表,即记录了哪些IP正在和本机的网络连接。 中间部分靠右侧部分是实时流量信息,分别是该访问IP连接到本机2秒、10 秒和40秒的平均流量。 =>代表发送数据,<=代表接收数据。 底部三行。 第一列:TX表示发送流量,RX表示接收流量,TOTAL表示总流量。 第二列cum:表示第一列各种情况的总流量。 第三列peak:表示第一列各种情况的流量峰值。 第四列rates:表示第一列各种情况2秒、10秒、40秒内的平均流量。 提示:iftop的流量显示单位是Mb,这里的b是比特(bit),不是字节(byte)。而ifstat显示的单位是KB中的B,也就是字节。1byte等于8bit。 常见操作命令说明 进入iftop界面后,可以通过按下相应的字母快捷按键,来对显示结果进行调整。 h:切换是否显示帮助。 n:切换显示本机的IP或主机名。 s:切换是否显示本机的host信息。 d:切换是否显示远端目标主机的host信息。 t:切换显示格式为2行、1行、只显示发送流量或只显示接收流量。 N:切换显示端口号或端口服务名称。 S:切换是否显示本机的端口信息。 D:切换是否显示远端目标主机的端口信息。 p:切换是否显示端口信息。 P:切换暂停或继续显示。 b:切换是否显示平均流量图形条。 B:切换计算2秒或10秒或40秒内的平均流量。 T:切换是否显示每个连接的总流量。 l:打开屏幕过滤功能,输入要过滤的字符。比如输入相应IP地址,回车后,屏幕就只显示这个IP相关的流量信息。 L:切换显示画面上边的刻度,刻度不同,流量图形条会有变化。 j或k:向上或向下滚动屏幕显示的连接记录。 1或2或3:根据右侧显示的三列流量数据进行排序。 <:根据左边的本机名或IP排序。 :根据远端目标主机的主机名或IP排序。 o:切换是否固定只显示当前的连接。 f:编辑过滤代码。 !:调用shell命令。 q:退出。 Nethogs的使用 Nethogs是一款开源的网络流量监控工具,可用于显示每个进程的带宽占用情况。这样可以更直观定位异常流量的来源。Nethogs支持IPv4和IPv6协议,支持本地网卡及PPP连接。Nethogs工具的安装方法请参阅其官方帮助文档,本文不再详述。安装完毕,直接输入nethogs启动工具即可。不带任何参数时,nethogs默认监控eth0。用户可以通过ifconfig等指令核实具体哪个网络接口(eth1、eth0)对应公网网卡。 使用示例 登录Linux实例,关于如何登录Linux实例,请参考使用管理终端连接Linux实例。 执行如下命令,安装nethogs流量监控工具。 yum install nethogs -y 通过nethogs工具来查看网卡上进程级的流量信息。若eth1网卡流量较高,则执行如下命令,查看每个进程的网络带宽情况以及进程对应的PID,确定导致带宽跑满或跑高的具体进程。 nethogs eth1 注:nethogs默认的监控间隔是1秒,用户可以通过-d参数来设定监控间隔。例如执行如下命令,设定监控间隔为5秒。 nethogs eth1 -d 5 系统显示类似如下。 5 若进程确定是恶意程序,可以通过执行如下命令,终止进程。 kill -TERM [$Port1] 提示:如果是Web服务程序,您可以使用iftop等工具来查询具体IP来源,然后分析Web访问日志是否为正常流量。日志分析可以使用logwatch或awstats等工具进行。 显示结果说明 在nethogs监控界面,按 s 可以按照Sent列进行排序,按 r 可以按照Received列进行排序,按 m 可以切换不同的统计单位显示,例如kb/s、kb、b、mb。监控界面信息说明如下所示。 PID列表示相应流量关联程序的进程号。 USER列表示相应进程的所属用户。 PROGRAM列表示程序的具体执行路径。 DEV列当前监控的网络接口名称。 Sent列表示相应进程已经发送的数据流量。 Received列表示程序已经接收的数据流量。 使用Web应用防火墙防御CC攻击 若您的服务遭受了CC攻击,请在Web应用防火墙控制台尽快开启CC安全防护。 登录Web应用防火墙控制台,关于如何登录Web应用防火墙控制台,请参考Web应用防火墙。 在CC安全防护中,单击 状态 按钮,并在模式中选择 正常。

1934890530796658 2020-03-26 09:26:13 0 浏览量 回答数 0

问题

云服务器 ECS YUM 在线安装软件方法和常见问题处理

boxti 2019-12-01 22:02:32 2644 浏览量 回答数 0

回答

怎样设置301重定向的最新四种办法 你的网站在做域名解析时,经常会解析2个域名,即带www的和不带www的。这样做的目的是,当用户使用不带www的域名时,也可以正常访问你的网站。但是这样做的后果是,你站点主域名的pr值分散到其他几个URL上了。因为在搜索引擎看来,带www和不带www的URL是2个完全不同的URL,当它们指向同一个网站时,会让搜索引擎不懂应该选择哪一个URL作为主要的域名。 如果你用301重定向把其他几个URL如baidu.com转到www.baidu.com时,相应的PR也就集中在主域名:www.baidu.com上了。 下面ESH教大家四种方法来实现301重定向 步骤/方法 设置.htaccess文件(只适用于linux系统,并需要虚拟主机支持。) 使访问aliyun.com/的时候就会自动转到www.aliyun.com 在.htaccess文件里写上以下代码即可。 RewriteEngine on RewriteCond %{http_host} ^seocs.net [NC] RewriteRule ^(.*)$ http://www.aliyun.com/$1 [L,R=301] 注意:URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。 怎样设置301重定向的最新四种办法 适用于使用Unix系统的用户 通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。 形如:Redirect 301 / http://www.aliyun.com 怎样设置301重定向的最新四种办法 适用于使用Windows系统的用户 在域名管理后台设置url转发,前面写上seocs.net 不带www的,后面框里写上www.aliyun.com这种带www的域名,设置成显式转发。显式转发相当于301,隐式转发相当于302,比较危险。 不过值得一提的是,因为URL转发和301概念不同,所以并不是所有的显式转发都是301的(听说万网提供的url转发是302的),可以使用http://tool.alimama.com/tools.php 提供的网站Header信息查询工具查询baidu.com,如果返回代码有“HTTP/1.1 301 Moved Permanently”。恭喜,那就是301的。我的是新网,新网(xinnet)提供url显式转发是301的,我就使用了此方法。 如果你是万网,又是windows主机,那就用DNS别名解析吧。 怎样设置301重定向的最新四种办法 用ASP/PHP实现301重定向: ASP: Response.Status="301 Moved Permanently" Response.AddHeader "Location","http://www.aliyun.com/" Response.End PHP: header("HTTP/1.1 301 Moved Permanently"); header("Location:http://www.aliyun.com/"); exit();

go696 2019-12-02 01:59:12 0 浏览量 回答数 0

回答

一 系统介绍 Android 是Google开发的基于Linux平台的、开源的、智能手机操作系统。Android包括操作系统、中间件和应用程序,由于源代码开放,Android可以被移植到不同的硬件平台上。 围绕在Google的Android系统中,形成了移植开发和上层应用程序开发两个不同的开发方面。手机厂商从事移植开发工作,上层的应用程序开发可以由任何单位和个人完成,开发的过程可以基于真实的硬件系统,还可以基于仿真器环境。 作为一个手机平台,Android在技术上的优势主要有以下几点: - 全开放智能手机平台 - 多硬件平台的支持 - 使用众多的标准化技术 - 核心技术完整,统一 - 完善的SDK和文档 - 完善的辅助开发工具 Android的开发者可以在完备的开发环境中进行开发,Android的官方网站也提供了丰富的文档、资料。这样有利于Android系统的开发和运行在一个良好的生态环境中。 https://developer.android.com/about安卓开发者官方网站 从宏观的角度来看,Android是一个开放的软件系统,它包含了众多的源代码。从下至上,Android系统分成4个层次: 第1层次:Linux操作系统及驱动; 第2层次:本地代码(C/C++)框架; 第3层次:Java框架; 第4层次:Java应用程序。 Android系统的架构如图所示: 由于Android系统需要支持Java代码的运行,这部分内容是Android的运行环境(Runtime),由虚拟机和Java基本类组成。 对于Android应用程序的开发,主要关注第3层次和第4层次之间的接口。 二 学习路线 基础学习——JavaSE: 基础学习扩展——JavaEE: 基础学习扩展——Linux基础: Android开发学习——基础理论:系统架构分析: Android系统从底向上一共分了4层,每一层都把底层实现封装,并暴露调用接口给上一层。 Linux内核(Linux Kernel) Android运行在linux kernel 2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的。 Linux 内核是硬件和软件层之间的抽象层。 中间件 中间件包括两部分: 核心库和运行时(libraries & Android runtime) 核心库包括,SurfaceManager 显示系统管理库,负责把2D或3D内容显示到屏幕;Media Framework 媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQlite 数据库,一个功能强大的轻量级嵌入式关系数据库;WebKit 浏览器引擎等。 Dalvik虚拟机: 区别于Java虚拟机的是,每一个Android 应用程序都在它自己的进程中运行,都有一个属于自己的Dalvik 虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。 应用程序框架(Application Framework) 丰富而又可扩展性的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids), 文本框(text boxes),按钮( buttons), 可嵌入的web 浏览器。内容提供者(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件( layoutfiles )。通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。 三 基础知识 掌握java部分之后,可以使用开发工具进入android世界 您可以使用 Kotlin、Java 和 C++ 语言编写 Android 应用。Android SDK 工具会将您的代码连同任何数据和资源文件编译成一个 APK(Android 软件包),即带有 .apk 后缀的归档文件。一个 APK 文件包含 Android 应用的所有内容,它也是 Android 设备用来安装应用的文件。 每个 Android 应用都处于各自的安全沙盒中,并受以下 Android 安全功能的保护: • Android 操作系统是一种多用户 Linux 系统,其中的每个应用都是一个不同的用户; • 默认情况下,系统会为每个应用分配一个唯一的 Linux 用户 ID(该 ID 仅由系统使用,应用并不知晓)。系统会为应用中的所有文件设置权限,使得只有分配给该应用的用户 ID 才能访问这些文件; • 每个进程都拥有自己的虚拟机 (VM),因此应用代码独立于其他应用而运行。 • 默认情况下,每个应用都在其自己的 Linux 进程内运行。Android 系统会在需要执行任何应用组件时启动该进程,然后当不再需要该进程或系统必须为其他应用恢复内存时,其便会关闭该进程。 Android 系统实现了最小权限原则。换言之,默认情况下,每个应用只能访问执行其工作所需的组件,而不能访问其他组件。这样便能创建非常安全的环境,在此环境中,应用无法访问其未获得权限的系统部分。不过,应用仍可通过一些途径与其他应用共享数据以及访问系统服务: • 可以安排两个应用共享同一 Linux 用户 ID,在此情况下,二者便能访问彼此的文件。为节省系统资源,也可安排拥有相同用户 ID 的应用在同一 Linux 进程中运行,并共享同一 VM。应用还必须使用相同的证书进行签名。 • 应用可以请求访问设备数据(如用户的联系人、短信消息、可装载存储装置(SD 卡)、相机、蓝牙等)的权限。用户必须明确授予这些权限。如需了解详细信息,请参阅使用系统权限。 本文档的其余部分将介绍以下概念: • 用于定义应用的核心框架组件 • 用来声明组件和应用必需设备功能的清单文件。 • 与应用代码分离并允许应用针对各种设备配置适当优化其行为的资源。 应用组件 应用组件是 Android 应用的基本构建块。每个组件都是一个入口点,系统或用户可通过该入口点进入您的应用。有些组件会依赖于其他组件。 共有四种不同的应用组件类型: • Activity • 服务 • 广播接收器 • 内容提供程序 每种类型都有不同的用途和生命周期,后者会定义如何创建和销毁组件。以下部分将介绍应用组件的四种类型。 Activity Activity 是与用户交互的入口点。它表示拥有界面的单个屏幕。例如,电子邮件应用可能有一个显示新电子邮件列表的 Activity、一个用于撰写电子邮件的 Activity 以及一个用于阅读电子邮件的 Activity。尽管这些 Activity 通过协作在电子邮件应用中形成一种紧密结合的用户体验,但每个 Activity 都独立于其他 Activity 而存在。因此,其他应用可以启动其中任何一个 Activity(如果电子邮件应用允许)。例如,相机应用可以启动电子邮件应用内用于撰写新电子邮件的 Activity,以便用户共享图片。Activity 有助于完成系统和应用程序之间的以下重要交互: • 追踪用户当前关心的内容(屏幕上显示的内容),以确保系统继续运行托管 Activity 的进程。 • 了解先前使用的进程包含用户可能返回的内容(已停止的 Activity),从而更优先保留这些进程。 • 帮助应用处理终止其进程的情况,以便用户可以返回已恢复其先前状态的 Activity。 • 提供一种途径,让应用实现彼此之间的用户流,并让系统协调这些用户流。(此处最经典的示例是共享。) 您需将 Activity 作为 Activity 类的子类来实现。如需了解有关 Activity 类的更多信息,请参阅 Activity 开发者指南。 服务 服务是一个通用入口点,用于因各种原因使应用在后台保持运行状态。它是一种在后台运行的组件,用于执行长时间运行的操作或为远程进程执行作业。服务不提供界面。例如,当用户使用其他应用时,服务可能会在后台播放音乐或通过网络获取数据,但这不会阻断用户与 Activity 的交互。诸如 Activity 等其他组件可以启动服务,使该服务运行或绑定到该服务,以便与其进行交互。事实上,有两种截然不同的语义服务可以告知系统如何管理应用:已启动服务会告知系统使其运行至工作完毕。此类工作可以是在后台同步一些数据,或者在用户离开应用后继续播放音乐。在后台同步数据或播放音乐也代表了两种不同类型的已启动服务,而这些服务可以修改系统处理它们的方式: • 音乐播放是用户可直接感知的服务,因此,应用会向用户发送通知,表明其希望成为前台,从而告诉系统此消息;在此情况下,系统明白它应尽全力维持该服务进程运行,因为进程消失会令用户感到不快。 • 通常,用户不会意识到常规后台服务正处于运行状态,因此系统可以更自由地管理其进程。如果系统需要使用 RAM 来处理用户更迫切关注的内容,则其可能允许终止服务(然后在稍后的某个时刻重启服务)。 绑定服务之所以能运行,原因是某些其他应用(或系统)已表示希望使用该服务。从根本上讲,这是为另一个进程提供 API 的服务。因此,系统会知晓这些进程之间存在依赖关系,所以如果进程 A 绑定到进程 B 中的服务,系统便知道自己需使进程 B(及其服务)为进程 A 保持运行状态。此外,如果进程 A 是用户关心的内容,系统随即也知道将进程 B 视为用户关心的内容。由于存在灵活性(无论好坏),服务已成为非常有用的构建块,并且可实现各种高级系统概念。动态壁纸、通知侦听器、屏幕保护程序、输入方法、无障碍功能服务以及众多其他核心系统功能均可构建为在其运行时由应用实现、系统绑定的服务。 您需将服务作为 Service 的子类来实现。如需了解有关 Service 类的更多信息,请参阅服务开发者指南。 注意:如果您的应用面向 Android 5.0(API 级别 21)或更高版本,请使用 JobScheduler 类来调度操作。JobScheduler 的优势在于,它能通过优化作业调度来降低功耗,以及使用 Doze API,从而达到省电目的。如需了解有关使用此类的更多信息,请参阅 JobScheduler 参考文档。 广播接收器 借助广播接收器组件,系统能够在常规用户流之外向应用传递事件,从而允许应用响应系统范围内的广播通知。由于广播接收器是另一个明确定义的应用入口,因此系统甚至可以向当前未运行的应用传递广播。例如,应用可通过调度提醒来发布通知,以告知用户即将发生的事件。而且,通过将该提醒传递给应用的广播接收器,应用在提醒响起之前即无需继续运行。 许多广播均由系统发起,例如,通知屏幕已关闭、电池电量不足或已拍摄照片的广播。应用也可发起广播,例如,通知其他应用某些数据已下载至设备,并且可供其使用。尽管广播接收器不会显示界面,但其可以创建状态栏通知,在发生广播事件时提醒用户。但广播接收器更常见的用途只是作为通向其他组件的通道,旨在执行极少量的工作。例如,它可能会根据带 JobScheduler 的事件调度 JobService 来执行某项工作 广播接收器作为 BroadcastReceiver 的子类实现,并且每条广播都作为 Intent 对象进行传递。如需了解详细信息,请参阅 BroadcastReceiver 类。 内容提供程序 内容提供程序管理一组共享的应用数据,您可以将这些数据存储在文件系统、SQLite 数据库、网络中或者您的应用可访问的任何其他持久化存储位置。其他应用可通过内容提供程序查询或修改数据(如果内容提供程序允许)。例如,Android 系统可提供管理用户联系人信息的内容提供程序。 因此,任何拥有适当权限的应用均可查询内容提供程序(如 ContactsContract.Data),以读取和写入特定人员的相关信息。我们很容易将内容提供程序看作数据库上的抽象,因为其内置的大量 API 和支持时常适用于这一情况。但从系统设计的角度看,二者的核心目的不同。对系统而言,内容提供程序是应用的入口点,用于发布由 URI 架构识别的已命名数据项。因此,应用可以决定如何将其包含的数据映射到 URI 命名空间,进而将这些 URI 分发给其他实体。反之,这些实体也可使用分发的 URI 来访问数据。在管理应用的过程中,系统可以执行以下特殊操作: • 分配 URI 无需应用保持运行状态,因此 URI 可在其所属的应用退出后继续保留。当系统必须从相应的 URI 检索应用数据时,系统只需确保所属应用仍处于运行状态。 • 这些 URI 还会提供重要的细粒度安全模型。例如,应用可将其所拥有图像的 URI 放到剪贴板上,但将其内容提供程序锁定,以便其他应用程序无法随意访问它。当第二个应用尝试访问剪贴板上的 URI 时,系统可允许该应用通过临时的 URI 授权来访问数据,这样便只能访问 URI 后面的数据,而非第二个应用中的其他任何内容。 内容提供程序也适用于读取和写入您的应用不共享的私有数据。 内容提供程序作为 ContentProvider 的子类实现,并且其必须实现一组标准 API,以便其他应用能够执行事务。如需了解详细信息,请参阅内容提供程序开发者指南。 Android 系统设计的独特之处在于,任何应用都可启动其他应用的组件。例如,当您想让用户使用设备相机拍摄照片时,另一个应用可能也可执行该操作,因而您的应用便可使用该应用,而非自行产生一个 Activity 来拍摄照片。您无需加入甚至链接到该相机应用的代码。只需启动拍摄照片的相机应用中的 Activity 即可。完成拍摄时,系统甚至会将照片返回您的应用,以便您使用。对用户而言,这就如同相机是您应用的一部分。 当系统启动某个组件时,它会启动该应用的进程(如果尚未运行),并实例化该组件所需的类。例如,如果您的应用启动相机应用中拍摄照片的 Activity,则该 Activity 会在属于相机应用的进程(而非您的应用进程)中运行。因此,与大多数其他系统上的应用不同,Android 应用并没有单个入口点(即没有 main() 函数)。 由于系统在单独的进程中运行每个应用,且其文件权限会限制对其他应用的访问,因此您的应用无法直接启动其他应用中的组件,但 Android 系统可以。如要启动其他应用中的组件,请向系统传递一条消息,说明启动特定组件的 Intent。系统随后便会为您启动该组件。 启动组件 在四种组件类型中,有三种(Activity、服务和广播接收器)均通过异步消息 Intent 进行启动。Intent 会在运行时对各个组件进行互相绑定。您可以将 Intent 视为从其他组件(无论该组件是属于您的应用还是其他应用)请求操作的信使。 您需使用 Intent 对象创建 Intent,该对象通过定义消息来启动特定组件(显式 Intent)或特定的组件类型(隐式 Intent)。 对于 Activity 和服务,Intent 会定义要执行的操作(例如,查看或发送某内容),并且可指定待操作数据的 URI,以及正在启动的组件可能需要了解的信息。例如,Intent 可能会传达对 Activity 的请求,以便显示图像或打开网页。在某些情况下,您可以通过启动 Activity 来接收结果,这样 Activity 还会返回 Intent 中的结果。例如,您可以发出一个 Intent,让用户选取某位联系人并将其返回给您。返回 Intent 包含指向所选联系人的 URI。 对于广播接收器,Intent 只会定义待广播的通知。例如,指示设备电池电量不足的广播只包含指示“电池电量不足”的已知操作字符串。 与 Activity、服务和广播接收器不同,内容提供程序并非由 Intent 启动。相反,它们会在成为 ContentResolver 的请求目标时启动。内容解析程序会通过内容提供程序处理所有直接事务,因此通过提供程序执行事务的组件便无需执行事务,而是改为在 ContentResolver 对象上调用方法。这会在内容提供程序与请求信息的组件之间留出一个抽象层(以确保安全)。 每种组件都有不同的启动方法: • 如要启动 Activity,您可以向 startActivity() 或 startActivityForResult() 传递 Intent(当您想让 Activity 返回结果时),或者为其安排新任务。 • 在 Android 5.0(API 级别 21)及更高版本中,您可以使用 JobScheduler 类来调度操作。对于早期 Android 版本,您可以通过向 startService() 传递 Intent 来启动服务(或对执行中的服务下达新指令)。您也可通过向将 bindService() 传递 Intent 来绑定到该服务。 • 您可以通过向 sendBroadcast()、sendOrderedBroadcast() 或 sendStickyBroadcast() 等方法传递 Intent 来发起广播。 • 您可以通过在 ContentResolver 上调用 query(),对内容提供程序执行查询。 如需了解有关 Intent 用法的详细信息,请参阅 Intent 和 Intent 过滤器文档。以下文档将为您详细介绍如何启动特定组件:Activity、服务、BroadcastReceiver 和内容提供程序。

问问小秘 2020-03-03 09:47:38 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 阿里云双十一主会场 阿里云双十一新人会场 1024程序员加油包 阿里云双十一拼团会场 场景化解决方案 阿里云双十一直播大厅